【EXCEL VBA】マクロとVBAコードの基本まとめ

マクロとは?

マクロは作業を自動実行するための手順書

例えば、手動でエクセルシートの初期化を行う場合、4つの操作を行います。

  1. セル「B4」~「C5」を選択
  2. Deleteキーを押してデータ削除
  3. セル「B7」~「C8」を選択
  4. Deleteキーを押してデータ削除

この4つの操作を自動実行する機能のことをマクロと呼びます。

マクロの正体はVBAコード

VBAコードの書き方

書き方の基本

何に対して何をするかをコードで記述します。

処理の構成

処理の構成は、大きく分けると「順次処理」「条件分岐処理」「繰り返し処理」の3種類となります。

順次処理

マクロを実行すると、コードの記述した処理が上から順番に実行されます。そのため、コードは処理を行いたい順番に上から記述します。これを「順次処理」といいます。

 

 

「処理1」「処理2」のコードを実行する順番に記述します。

条件分岐処理

条件判断のコードを加えることにより、マクロの処理を途中で分解することができます。これを「条件分岐処理」といいます。

 

 

条件判断のコードを記述し、「処理1」のコードは条件を満たす場合のコードを記述する箇所に、「処理2」のコードは条件を満たさなさい場合の箇所に、それぞれ記述します。

繰り返し処理

同じ処理を繰り返すことができます。これを「繰り返し処理」といいます。

 

 

条件判断のコードを記述し、「処理1」のコードは条件を満たす場合に記述します。

条件を満たす間は「処理1」が繰り返し実行されます。

VBAコードの構造

コードの作成場所や構成など、コードの記述に必要な基本項目をご紹介します。

最も基本的な用語は、「モジュール」「ステートメント」「オブジェクト」「プロパティ」「メソッド」です。

コードの作成場所

Excelでは、「VBE」というソフトを使ってマクロを作成します。

VBEは、Excel標準で付属しています。

 

ステートメントとは、1行の命令文

処理を実行させる命令文を1行ずつ記述します。

この一つひとつの命令文を「ステートメント」といいます。

プロシージャとは、ひとまとまりの処理

プロシージャとは、コードによって実現されるひとまとまりの処理です。

主なプロシージャの種類は「Subプロシージャ」「Functionプロシージャ」「イベントプロシージャ」の3種類です。

プロシージャの種類 表示例
Subプロシージャ 「Sub」で始まるプロシージャ。
Functionプロシージャ 「Function」で始まるプロシージャ。オリジナルの関数に利用される。
イベントプロシージャ 「ブックを閉じるとき」や「シートを選択したとき」のように、ある状態になったときをきっかけに自動実行されるプロシージャ。 

オブジェクトとは、操作の対象となるもの

操作の対象 オブジェクト名
ファイル(ブック) Workbookオブジェクト
ワークシート Worksheetオブジェクト
セル Rangeオブジェクト

オブジェクトの記述例(ピンク部分がオブジェクト)


使用例:Range("A1").Value
意味 :セル「A1」の値

 

使用例:Worksheet("Sheet1").Select
意味 :ワークシート「Sheet1」を選択する

オブジェクトは親子関係の階層構造を持つ

 


プロパティとは、オブジェクトの「属性」

Rangeオブジェクトの属性 プロパティ
内容 Value
名前 Name
数式 Formura

プロパティの記述例(ピンク部分がプロパティ)


使用例:Range("A1").Value
意味 :セル「A1」

 

使用例:Range("A1:C5").Name
意味 :セル「A1~C5」の名前

メソッドとは、オブジェクトの「動作」

Rangeオブジェクトの動作 メソッド
選択する Select
コピーする Copy
データを削除する ClearContents

メソッドの記述例(ピンク部分がメソッド)


使用例:Range("A1").Select
意味 :セル「A1」を選択する

 

使用例:Range("A1:C5").Copy
意味 :セル「A1~C5」をコピーする

最後まで読んでいただき、ありがとうございました!