使用移动图表循环显示可见工作表

时间:2013-08-12 10:19:46

标签: excel vba

上午

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

我有一个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

因此,如果任何人有任何代码循环显示可见表格,包括移动图表,我会永远感激。

干杯

1 个答案:

答案 0 :(得分:0)

时间算术:在VBA中,时间存储在日期中,日期二进制等于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以获得更好的方法。