上午
我需要一些帮助而不确定从哪里开始。
我有一个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
因此,如果任何人有任何代码循环显示可见表格,包括移动图表,我会永远感激。
干杯
答案 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
以获得更好的方法。