(Excel No19)「オブジェクトの繰り返しは簡単」


今回は、基本的な事ですが繰り返し処理についてです。
複数のセル、あるいはシートに対して同じような処理を繰り返し行わないといけないような時、あなたはどうしていますか?
・しょうがないので手作業で繰り返している。
・マクロで処理を繰り返し(コピー&ペーストして)書いている。
どちらも今一つですよね。
作業の対象がセルやシートすなわちオブジェクトなら、For Each 文を使いましょう。
例えば、私が良く経験する事としては、複数のシートをまとめて印刷する場合に、同じヘッダやフッタを設定したいというのがあります。
シートをグループ化して設定すれば出来そうなもんですが、出来ないんですよね。
次が、そのマクロです。
内容は非常に簡単です。全てのワークシートに対してSetPrintConfigOnAllSheetプロシージャを呼び出しているだけですね。
ということは、このプロシージャに処理を追加すれば色んな事ができるという事です。

Option Explicit

Sub SetPrintConfig()
    Dim sht As Worksheet

    For Each sht In Worksheets
        SetPrintConfigOnAllSheet sht
    Next sht
End Sub

'右フッタにシート名印刷
Sub SetPrintConfigOnAllSheet(isht As Worksheet)
    With isht.PageSetup
        .RightFooter = "&A"
    End With
End Sub

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください