エクセルブックは、セルやワークシートで構成されています。
セルはRange(”A1″)がA1セルということがわかりましたが、ワークシートはどのように選択すればよいのでしょうか?
今回はワークシートの選択方法・記述方法について説明します。
ワークシートの選択方法
まずは、習うより慣れろです。
ワークシート2(sheet2)のセルB3に数字の5を入力してみましょう。
コードは以下のとおりになります。
Sub ワークシートの選択()
Worksheets("Sheet2").Range("B3") = 5
End Sub
コードを実行してみると、以下の図のようにワークシート2のセルB3に「5」が書き込まれます。
コードの解説をします。
数字や文字列を入れたいために特定のワークシートを選択するには、
Worksheets(“ワークシート名”)
と記述します。
今回の場合だとワークシート2(シート名:sheet2)ですので、
Worksheets(“sheet2”)
となります。
つまり、上のコードは、日本語で表現すると
Worksheets(“Sheet2”).Range(“B3”) = 5
ワークシート、シート名:シート2の、セルB3に、数字5を入れる。
という意味になります。
Worksheets(“Sheet2”)と、Range(“B3”)の間にある、「.」は、ピリオドで、VBAでは「~の」という意味になります。
つまり、 Worksheets(“Sheet2”) の Range(“B3”) という意味になります。
シート名がわからなくてもシートを指定できる
今回は、あえてワークシート2を「sheet2」とシート名を指定して記述しました。
じつは、シート名がわからなくてもシートを指定できるんです。
以下のコードは、「ワークシート1のセルB4に数字6を入れる」を追加したVBAコードです。
Sub ワークシートの選択()
Worksheets("sheet2").Range("B3") = 5
Worksheets(1).Range("B4") = 6
End Sub
実行してみると、ワークシート1(sheet1)のセルB4に6が書き込まれたはずです。
この
Worksheets(1)
というのは、ワークブック上で、「左から〇番目のシート」という意味になります。
※ シートの左下の、シートを選択する場所のことです。
今回のワークブックでは、「sheet1」が左から1番目、 「sheet2」が左から2番目です。
もし、シートを移動させて、「sheet2」が左から1番目になれば、 Worksheets(1)はsheet2を表すことになります。
今回は、左から1番目にあるsheet1 のセルB4 に数字6が書き込まれました。
VBAでシートを追加する
次は、VBAでシートを追加してみましょう。
シートを追加するには、「Add」を使います。
Addは、追加するという意味です。
具体的には、
Worksheets.Add
と記述します。
「ワークシート」を「追加」するという意味です。
※ あれ? 「.」ピリオドは、「~の」という意味じゃなかったっけ?
この矛盾は、あと5行だけ読み進めれば解決します。
この「Add」は「Addメソッド」といいます。
「メソッド」とは、ワークシートやセルを削除や追加するなどの「操作する」という意味です。
つまり、
Worksheets.Add
は、「ワークシート」 の 「追加操作をする」
という意味になります。(少し強引か(汗))
さて、とにかくコードを実行してみましょう。
Sub ワークシートの選択()
Worksheets("sheet2").Range("B3") = 5
Worksheets(1).Range("B4") = 6
Worksheets.Add
End Sub
実行すると「Sheet3」が追加されたはずです。
このようにワークシートの選択・追加ができるのです。
コメント