Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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,我很好奇如何在VB中修改我的代码,以允许该宏同时在工作簿中的多个工作表上运行。我想做的是将此宏设置为工作簿中三张纸上使用的图表大小。它是同一个图表(图表1),大小由活动的x命令按钮控制。 这是针对excel 2010的 感谢您的帮助 Sub thritysecs() ' ' thritysecs Macro ' sets chart to 30 seconds ' ' Keyboard Shortcut: Ctrl+e ActiveSheet.Unprotect Password:="" Ac

我很好奇如何在VB中修改我的代码,以允许该宏同时在工作簿中的多个工作表上运行。我想做的是将此宏设置为工作簿中三张纸上使用的图表大小。它是同一个图表(图表1),大小由活动的x命令按钮控制。 这是针对excel 2010的

感谢您的帮助

 Sub thritysecs()
'
' thritysecs Macro
' sets chart to 30 seconds
'
' Keyboard Shortcut: Ctrl+e
ActiveSheet.Unprotect Password:=""
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveWindow.SmallScroll Down:=-15
ActiveChart.Axes(xlValue).Select
ActiveChart.Axes(xlValue).MaximumScale = 30
ActiveChart.ChartArea.Select
ActiveSheet.Shapes("Chart 1").ScaleWidth 0.699915576, msoFalse, _
    msoScaleFromTopLeft
ActiveSheet.Protect Password:="", userinterfaceonly:=True
End Sub

对于了解VBA的人来说,这是60秒的修改。所以,我会为你做的:)

顺便说一句,出于我自己的目的,我会用不同的方式来做,但这不值得你在你的工作簿中放三张纸

Sub thritysecs()

Dim SH as Worksheet
For each SH in Worksheets
    SH.Activate
        ActiveSheet.Unprotect Password:=""
        ActiveSheet.ChartObjects("Chart 1").Activate

        ActiveChart.Axes(xlValue).Select
        ActiveChart.Axes(xlValue).MaximumScale = 30
        ActiveChart.ChartArea.Select
        ActiveSheet.Shapes("Chart 1").ScaleWidth 0.699915576, msoFalse, _
                msoScaleFromTopLeft
        ActiveSheet.Protect Password:="", userinterfaceonly:=True
Next SH
End Sub