在Excel中,实现秒的实时动态更新,求VBA代码。

2024-05-20 04:45

1. 在Excel中,实现秒的实时动态更新,求VBA代码。

你好,
     实现这个功能比较占用系统资源哦,请谨慎使用。
Sub Run_it()  
Application.OnTime TimeValue("00:00:01"), "shownowtime"    '一旦开始运行后每隔一秒运行一次shownowtime这个宏
End Sub  
 
sub shownowtime()
[a1] = now()‘每隔一秒a1单元格里的时间就更新一次,即可实现秒的实时动态更新
en sub

在Excel中,实现秒的实时动态更新,求VBA代码。

2. 想让excel自打开起一直(每秒)不断刷新,用vba怎么写代码呢?

ThisWorkBook 里面写:

Private Sub Workbook_Open()
freshtime
End Sub

然后新建模块里面写:

Sub freshtime()
Dim NewTime As Date
NewTime = Now + TimeValue("00:00:01")
Calculate
Application.OnTime NewTime, "freshtime"
End Sub

然后保存并重新打开表格,数据每秒自动刷新。

如果要不间断一直刷新,把 + TimeValue("00:00:01")去掉,但是会非常卡,无法操作。
原创,Excel 2016 亲测可行。

3. excel VBA 每分钟更新一次

Alt+F11打开VBE编辑器,工程管理器中双击ThisWorkbook,复制粘贴下面的代码,
调用的程序名称改成按钮对应的实际名称,保存,关闭。
再次打开该工作簿时,每分钟运行一次。
Private Sub Workbook_Open()    Application.OnTime Now() + TimeValue("00:01:00"), "调用的程序名称"End Sub

excel VBA 每分钟更新一次

4. excel股票自动刷新,VBA代码如何写啊?

我测试了下发现是鼠标放上去悬停才能触发刷新数据的动作。。。
sheet1里写:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
宏2
End Sub
模块1里写:
Sub 宏2()
'
' 宏2 宏
ActiveWorkbook.RefreshAll
If Sheet1.[G1]  "停止刷新" Then Application.OnTime (Now + TimeSerial(0, 0, 2)), "宏2"
End Sub
亲测OK。


TimeSerial(0, 0, 2) 里面的2就是每2秒刷新一次,可以改成你想要的数值。
这个是我录制宏,再稍微修改下,几分钟完成的。

5. 请问如果导入两个access到一个Excel,10秒刷新一次。VBA代码该怎么写?

改写如下
Sub AutoRefresh()
    Sheets("sheet1").QueryTables("QueryTbl").Refresh
    Sheets("sheet1").QueryTables("QueryTbl2").Refresh
    Call AUTO_OPEN
End Sub

说明:请预先定义两个以ACCESS表为数据源的外部数据区域,分别命名为QueryTbl和QueryTbl2,这两个外部数据区域应横向放置,而不应纵向放置以免上面的数据记录多时可能导致两个数据区域发生叠加。其它细节请参考本人以前的知道回答(你提问中的那个链接)。
顺便提供一些附图供参考




请问如果导入两个access到一个Excel,10秒刷新一次。VBA代码该怎么写?

6. Excel中VBA为什么我要点击一次才能刷新出来值

Worksheet_SelectionChange事件是你选择的表格即焦点改变时触发,这里关键是搞清楚此事件什么情况下发生。如果用Change事件你输完以后按回车键或方向键就触发。通常我不喜欢用这些事件,自己定义一个宏,设个快捷键,要变的时候按下快捷键就可以了,这个适合大批量的变化,自己定义好循环。

7. excel表中如何在数据源中定义一个宏按钮,点击该按钮则所有透视表就刷新数据?求详细的VBA代码~!

Sub 小按钮()    Sheet1.PivotTables("数据透视表1").PivotCache.RefreshEnd Sub透视表所在工作表.pivotables("透视表名称").pivotcache.refresh
Private Sub Worksheet_SelectionChange(ByVal Target As Range)    Sheet1.PivotTables("数据透视表1").PivotCache.RefreshEnd Sub在源数据中定义这个更好,每修改完一个单元格数据后,自动刷新透视表。

excel表中如何在数据源中定义一个宏按钮,点击该按钮则所有透视表就刷新数据?求详细的VBA代码~!

8. excel中,求vba代码。

Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
'定义鼠标消息
Private Const WM_LBUTTONDOWN As Long = &H201&
Private Const WM_LBUTTONUP As Long = &H202&

Sub ClearClipBoard()

    Dim hWord, hClipBoard, hWindow As Long 'Word主窗口、剪贴板、临时窗口句柄
    Dim nXY As Long '剪贴板“全部清空”按钮的坐标
    Dim strCaption As String    'Word主窗口的标题

    'Application.ShowClipboard  '打开剪贴板
    CommandBars("Task Pane").Visible = False '关闭任务窗格
    
'先获取Word主窗口的标题
    If Documents.Count = 0 Then   '没有文档打开
        strCaption = "Microsoft Word"
    Else
        strCaption = ActiveWindow.Caption & " - Microsoft Word"
    End If
    
    hWord = FindWindowEx(0&, 0&, "OpusApp", strCaption)   '获取Word主窗口句柄
    hWindow = FindWindowEx(hWord, 0&, "MsoWorkPane", "MsoWorkPane") '获取任务窗格窗口句柄
    hClipBoard = FindWindowEx(hWindow, 0&, "bosa_sdm_Microsoft Office Word 11.0", "Collect and Paste 2.0") '获取剪贴板窗口句柄
    
    If hClipBoard = 0 Then  '未知原因,没有找到剪贴板的窗口句柄
        MsgBox "剪贴板清空失败!"
        Exit Sub
    End If
    
    nXY = 100 + 10 * 65536   '(x,y)=(100,10),取(92,6)~(168,27)均可
    
    Call PostMessage(hClipBoard, WM_LBUTTONDOWN, 0&, nXY) '模拟鼠标按下
    Call PostMessage(hClipBoard, WM_LBUTTONUP, 0&, nXY) '模拟鼠标弹起
    
End Sub