0

このマクロをワークブックの複数のシートで一度に実行できるように、VB でコードを変更する方法に興味があります。私がやりたいのは、このマクロ サイズをワークブックの 3 枚のシートで使用されるグラフにすることです。これは同じチャート (チャート 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
4

1 に答える 1

0

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

ところで、私自身の目的のためには別の方法で行いますが、ワークブックにある 3 つのシートには価値がありません。

于 2013-10-04T19:53:10.873 に答える