Excel VBAでシートとブックの操作する方法【初心者向け】

※当サイトは Google Adsense、Amazon アソシエイト等 アフィリエイト広告を利用して収益を得ています。

Excel VBAでシートとブックの操作する

Excel VBAは、Microsoft Excelで使用できるプログラミング言語です。

Excelをより効率的に使用するためのプログラミング言語です。Excelをもっと便利に使いたい人におすすめのプログラミング言語です。Excel VBAを覚えると、Excelの作業が楽になります

具体的に出来ることは以下のとおりです。

  • Excelの操作を自動化
  • 独自の機能を作成
  • データの分析・処理
  • レポートの作成
  • フォームの作成
  • マクロの作成

このExcel VBAというカテゴリーでは、私が学んだExcel VBAのコツやテクニックを紹介していきます。
今回は、Excel VBAでシートとブックの操作する方法を今回ご紹介します。

Excel VBAでシートとブックの操作する方法

Excelのオブジェクトの階層

Excelのオブジェクトはこのように階層になっています。

Range(A1)は、セルA1を表しています。

Sheets(“Sheet1”).Range(A1)は、シート2のセルA1を表しています。

Workbooks(“Book1”).Sheets(“Sheet1”).Range(A1)は、Book1のSheet1のセルA1を表しています。

この構造を理解すれば、別のブックやシートのセルを指定することが出来ます。

Sheet2のセルA1を指定する場合は、Excel VBAのコードでは以下のように記述します。

Sheets(“Sheet2”).Range(“A1”)

又は、Sheet2は左から2番めにあるので、こういう記述も出来ます。

Sheets(2).Range(“A1”)

Excel VBAでシートを指定する具体例① Sheet2のセルA1に10と入力する

実際にExcel VBAでSheet2のセルA1に10と入力してみます。

以下のコードを入力します。

Excel VBAでシートとブックの操作する方法【初心者向け】

Sheet1を選択した状態で、F5キーを押します。

すると以下のようにSheet2のセルA1に10が入力されます。

Excel VBAでシートとブックの操作する方法【初心者向け】

Excel VBAでシートを指定する具体例② Excel VBAで別のブックであるBook1のSheet1のセルA1に300と入力する

Excel VBAで別のブックであるBook1のSheet1のセルA1に300と入力してみます。

以下のコードを入力します。

なおこの方法は、現在開いているブックのみ適用されます。

Excel VBAでシートとブックの操作する方法【初心者向け】

F5キーを押します。

すると以下のようにBook1のSheet1のセルA1に300が入力されます。

Excel VBAでシートとブックの操作する方法【初心者向け】

なお、もしRange(A1)とだけ記述して、シートもブックも指定していない場合はどうなるかというと、現在開いているブックのシートのセルA1というようになります。

Excel VBAでシートを指定する具体例③ Excel VBAでデータ抽出で使用した表を用いて、Excel入門を抽出したデータを、Sheet2にコピーする

前回のブログ記事でデータ抽出で使用した表を用いて、Excel入門を抽出したデータを、Sheet2にコピーするということを行います。

Excel VBAでシートとブックの操作する方法【初心者向け】

以下のコードを入力します。

Excel VBAでシートとブックの操作する方法【初心者向け】

最初に、Next iを改行し、前回のデータ抽出で学んだ方法でExcel入門のみ抽出するコードの

Range(“A1”).AutoFilter 3, “Excel入門”

記述します。

そして改行します。

そして以下のコードを入力します。

Range(“A1”).CurrentRegion.Copy Sheets(“Sheet2”).Range(“A1”)

Range(“A1”).CurrentRegion.Copyの説明をします。

CurrentRegionですが、これはデータが入っている表全体を指定するものです。

その後にCopyメソッドを記述することで、Excel入門のみ抽出した表をコピーします。

Sheets(“Sheet2”).Range(“A1”)の説明をします。

これは、コピー先は、Sheet2のA1という意味のコードです。

これでF5キーを押して実行します。

するとSheet1にExcel入門のみ抽出したされます。

Excel VBAでシートとブックの操作する方法【初心者向け】

そして、Sheet2にExcel入門のみ抽出したデータがコピーされます。

Excel VBAでシートとブックの操作する方法【初心者向け】

Excel VBAでシート名を変更する方法

Excel VBAでは、シート名を変更することが出来ます。

コードですが以下のように記述します。

Worksheets(“シート名を変更したいシート”).Name = “変更したいシートの名前”

“シート名を変更したいシート”ですが、例えばSheet1を変更したければ”Sheet1″と記述します。

“変更するシートの名前”、変更したいシート名にしたい名前、例えばSheet1の名前をシート1にしたければ、”シート1″と記述します。

具体例として、Sheet1を売上表、Sheet2をExcel入門という名前に変更してみます。

コードは以下のようになります。

Excel VBAでシートとブックの操作する方法【初心者向け】

以下のように、Sheet1が売上表、Sheet2がExcel入門とシート名が変更されます。

Excel VBAでシートとブックの操作する方法【初心者向け】
タイトルとURLをコピーしました