0

早晨

我需要一些帮助,但不确定从哪里开始。

我有一个 Excel 工作簿,它从 SQL 存储过程中填充一张数据表。然后有一系列数据的枢轴,到目前为止一切都很容易。然后,我根据这些枢轴创建图表并将它们移动到自己的工作表中。

我想要实现的是这些图表的滚动仪表板,比如每 30 秒更换一次。我已经尝试了一些东西,从这个网站上获得了一些想法,但由于某种原因,带有图表的表格不会与其他表格循环,所以实际上我只看到我的数据页面和数据透视页面。下面是我尝试修改的一些代码。

Sub TabShow()

Dim i As Integer
Dim Pause As Double

Pause = 3 'Pause delay
Loops = 3 'How many loops do you want to do

For j = 1 To Loops

    For i = 1 To Worksheets.Count

        Worksheets(i).Select 'Select the next worksheet

        x = Timer
        While Timer - x < Pause 'This does the pausing
        Wend

    Next i
Next j

End Sub

因此,如果有人有任何代码可以循环显示包括移动图表在内的可见表格,我将永远感激不尽。

干杯

4

1 回答 1

0

时间算法:在VBA中,时间存储在Date中,Date二进制等于Double,每个单位为一天。所以,Pause = 3意味着3天!!!更好的:

Dim Pause As Date
Pause = #0:0:30# 'Time constant

我建议也使用Now而不是Timer.

程序流程:运行宏时,Excel 变得无响应,除非您使用DoEvents

 While Timer - x < Pause 'This does the pausing
     DoEvents
 Wend

这将确保您的工作簿在宏运行时允许用户交互。

但是,我不建议在处理宏时保持宏运行。检查Application.OnTime更好的方法。

于 2013-08-12T11:08:23.743 回答