Excel VBA の入門ということで
今回はシートを指定する方法を説明しようかと思います。
私の経験談にはなるんですけど、
慣れないうちは、手動で作業しているものを追いかけて
それを自動化するような流れで、VBAを組んでいた感じなんですね。
それの方が、流れを考えやすいんで。
例えば、シート1のこのセルにこの値を入れて
シート4に移動して、このセルに値を入れて・・・
と、順序を追って同じようにVBAを組む感じですかね。
初心者のうちはこういう方法のほうが、作りやすいと思います。
でも慣れてくると、処理の重さ等が気になってくるんですよね。
そうなってくると、シートを選択で移動せずに
ダイレクトに他のシートも処理をして、処理速度を上げる
とか、段々とレベルアップする感じですね。
今回のシートを指定する方法は、それに使えますので
是非覚えてくださいね。
VBAでシートを指定する方法
以下に、シートを指定する方法をいくつか紹介します。
アクティブなシートを指定する
アクティブなシートを指定するには、ActiveSheetプロパティを使います。
以下は、アクティブなシートのA1セルに値を入力します。
ActiveSheet.Range("A1").Value = "Sample"
シートの名前を指定する
シートの名前を指定するには、WorksheetsコレクションのItemプロパティを使います。
以下は、Sheet1というシートのA1セルに値を入力します。
Worksheets("Sheet1").Range("A1").Value = "Sample"
以下は、Sheet1というシートのセル全体の値をクリアします。
Worksheets("Sheet1").Cells.ClearContents
シートのインデックスを指定する
シートのインデックスを指定するには、WorksheetsコレクションのItemプロパティを使います。以下は、2番目のシートのA1セルに値を入力します。
Worksheets(2).Range("A1").Value = "Sample"
以下は、5番目のシートの3行目の文字色を変更します。
Worksheets(5).Rows(3).Font.ColorIndex = 3
まとめ
私はかなり使用頻度の高いコードですね。
是非覚えて、改善に役立ててくださいね。
以下に上記で紹介したコードをまとめておきます。
コピペで使用する際などに活用下さいませ。
ActiveSheet.Range("A1").Value = "Sample"
Worksheets("Sheet1").Range("A1").Value = "Sample"
Worksheets("Sheet1").Cells.ClearContents
Worksheets(2).Range("A1").Value = "Sample"
Worksheets(5).Rows(3).Font.ColorIndex = 3
関連するメソッド
関連するメソッドも覚えておくと便利ですよ。