アプリ版:「スタンプのみでお礼する」機能のリリースについて

EXCELのBOOKがあり、n枚のシートを含んでいます。
Macro1という名称のマクロで、
そのBook内のすべてのシートにMacro2というマクロを実行させる
という場合、Macro1はどのように書けばいいのですか。
次次にシートを開くという操作をどう表すか?
このMacro2では、例えばシートの文字の表示を75%のサイズで表示のようなものを考えています。
またそのときmacro2は、何か記述の追加が必要ならそれはどのようなものか。
よろしくお願いいたします。

Sub Macro1( )
' Macro1 Macro
' 次次とシートを開き、75%サイズにする
xxxxxxxx

Sub Macro2( )
' Macro1 Macro
ActiveWindow.Zoom = 75
End Sub

End Sub

A 回答 (4件)

こんな感じで動くと思います。



Sub Macro1()
Dim i As Integer
For i = 1 To ActiveWorkbook.Sheets.Count Step 1 'シート枚数分繰り返し
ActiveWorkbook.Sheets(i).Activate '次々とシートを開く
ActiveWindow.Zoom = 75 '75%サイズにする
Next i
End Sub
    • good
    • 0
この回答へのお礼

おかげで解決しました。どうもありがとうございます。

お礼日時:2005/07/13 15:59

いっぺんにできますよ。



Sub test()
For Each ws In Worksheets
ws.Activate
ActiveWindow.Zoom = 75
Next
End Sub
    • good
    • 0
この回答へのお礼

おかげで解決しました。どうもありがとうございます。

お礼日時:2005/07/13 15:59

次のようにするとできます。

どちらも標準モジュールにコピペ。Macr2の処理を変えると、色々な処理をさせることができます。
==========================
Sub Macro1()
Dim Ws As Object
' Macro1 Macro
' 次次とシートを開き、75%サイズにする
For Each Ws In Sheets
Ws.Activate
Macro2
Next
End Sub
=========================
Sub Macro2()
' Macro1 Macro
ActiveWindow.Zoom = 75
End Sub
    • good
    • 0
この回答へのお礼

おかげで解決しました。どうもありがとうございます。

お礼日時:2005/07/13 15:58

こんにちは。



>Macro1という名称のマクロで、
>そのBook内のすべてのシートにMacro2というマクロを実行させる
>という場合、Macro1はどのように書けばいいのですか。
>次次にシートを開くという操作をどう表すか?
>このMacro2では、例えばシートの文字の表示を75%のサイズで表示のようなものを考えています。

サブルーチンにする必要があるかないかは別として、以下のようになりますね。

Sub Macro1 ()
 Call Macro2
End Sub

Sub Macro2()
 Sheets.Select
 ActiveWindow.Zoom = 75
 ActiveSheet.Select
End Sub

>またそのときmacro2は、何か記述の追加が必要ならそれはどのようなものか。

あえて付けるなら、Private ステートメントをつけます。
Private Sub Macro2()
  ・
  ・
  ・
End Sub
    • good
    • 0
この回答へのお礼

おかげで解決しました。どうもありがとうございます。

お礼日時:2005/07/13 15:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!