我很好奇如何在VB中修改我的代码,以允许这个宏同时在工作簿中的多个工作表上运行。我想做的是让这个宏大小,一个图表,在工作簿中的三个工作表上使用。它是相同的图表(图1),大小大小由active 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
发布于 2013-10-04 11:53:10
对于一个知道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
顺便说一句,出于我个人的目的,我会采取不同的做法,但对于你工作簿中的三张工作表来说,这是不值得的。
https://stackoverflow.com/questions/19188672
复制