Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 循环浏览带有移动图表的可见工作表_Excel_Vba - Fatal编程技术网

Excel 循环浏览带有移动图表的可见工作表

Excel 循环浏览带有移动图表的可见工作表,excel,vba,Excel,Vba,早晨 我需要一些帮助,但不确定从哪里开始 我有一个excel工作簿,它填充SQL存储过程中的数据表。然后有一系列的数据支点,到目前为止都很简单。然后,我根据这些轴创建图表,并将它们移动到自己的图纸中 我想要实现的是这些图表的滚动仪表板,比如说每30秒,更改一次工作表。我尝试了一些东西,从这个网站上获取了一些想法,但由于某些原因,带有图表的工作表不会与其他工作表循环,因此实际上我只看到我的数据页和数据透视页。下面是一些我试图修改的代码 Sub TabShow() Dim i As Integer

早晨

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

我有一个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
子选项卡show()
作为整数的Dim i
双音停顿
暂停=3'暂停延迟
循环=3'您要执行多少个循环
对于j=1到循环
对于i=1的工作表。计数
工作表(i)。选择“选择下一个工作表”
x=计时器
当定时器-x
所以,如果有人有任何代码可以在可见的表单(包括移动的图表)中循环,我将永远感激


Cheers

时间算术:在VBA中,时间以日期存储,日期二进制等于双精度,每个单位为一天。所以,
Pause=3
意味着3天!!!更好:

Dim Pause As Date
Pause = #0:0:30# 'Time constant
我建议现在也使用
而不是
计时器

程序流程:在运行宏时,Excel变得不负责任,除非您使用
DoEvents

 While Timer - x < Pause 'This does the pausing
     DoEvents
 Wend
当定时器-x
这将确保您的工作簿在宏运行时允许用户交互


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

对于延迟,非常抱歉。当我尝试上面的代码时,我输入pause=part,但当我移动到下一行时,它将更改为12:00:30AM。对不起,如果这是我的愚蠢,VBA不是我的强项,这是正确的<代码>#12:00:30AM#
表示午夜后30秒,这是VBA显示时间的方式。