VBA|ワークシートの選択・追加方法

エクセルVBA VBAでワークシートの操作



エクセルブックは、セルやワークシートで構成されています。

セルは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」が追加されたはずです。

このようにワークシートの選択・追加ができるのです。

コメント

タイトルとURLをコピーしました