ということで、今回は「基本文法をやさしく解説」というテーマでお伝えします。
マクロのコードは3つの要素で成り立っている
マクロコードは、主に3つから成り立っています。
- オブジェクト
- プロパティ
- メソッド
①オブジェクトとは?
オブジェクト=マクロの「操作対象」
例えば、次のような一文があったとします。
「佐藤さん.走って」
「鈴木さん.止まって」
ここでの操作対象は?と聞かれた場合、どう答えますか?
そうです。「佐藤さん」「鈴木さん」が操作対象になります。つまり、「佐藤さん」「鈴木さん」がオブジェクトです。
”走る”対象は「佐藤さん」だし、”飲む”対象は「鈴木さん」ですよね。
では、次の文ではどうでしょう?
「A1セル.コピー」
「シート1.削除」
そうです。「A1セル」と「シート1」が操作対象。つまり、オブジェクトになります。
このように、エクセルマクロでは、何かを操作したいときに対象に当たるものはすべてオブジェクトというわけです。
例えば、エクセルの「ブック」「ワークシート」「セル」もすべてオブジェクトと呼ばれます。
マクロで表すとこのようになります。
Range("A1").copy(A1セルをコピー)
→ 「Range("A1")」がオブジェクト
Sheets(1).delete(シート1を削除)
→「Sheets(1)」がオブジェクト
②プロパティとは?
プロパティとは「状態や様子」
例えば、次のような一文があったとします。
「田中さんの年齢は?」
「靴の色は?」
「状態や様子」を表しているのは、どの部分でしょうか?
そうですね。田中さんの場合は「年齢」、靴の場合は「色」が状態を表しています。つまり、プロパティです。
では、次の文ではどうでしょうか?
「A1セルの背景色」
「シート1タブの文字色」
セルの場合は「背景色」、シートの場合は「文字色」がプロパティになります。
なんとなく分かってきたと思いますが、何かの「状態や様子」の部分はすべてプロパティです。
マクロで表すとこのようになります。
Range("A1").Interior.Color (A1セルの背景色)
→「Interior.Color 」がプロパティ
Sheets(1).Font.Color(シート1の文字色)
→「Font.Color 」がプロパティ
③メソッドとは?
メソッドとは「動作指示」
例えば、次のような1文があったとします。
「佐藤さん.走って」
「鈴木さん.止まって」
どこかで見たような文章ですね。はい、先ほど「オブジェクト」の説明で登場した例文です。
この文章の中で「動作指示」に当たる箇所は?
これは簡単ですね。佐藤さんの場合は「走って」、鈴木さんの場合は「止まって」の部分が「動作指示(メソッド)」にあたります。
このように何かのオブジェクトに対して、動作を指示する言葉がメソッドです。
では、次の文ではどうでしょうか?
「ブックを開く」
「値を削除する」
そうです。ブックの場合は「開く」、値の場合は「削除する」がメソッドです。
マクロで表すとこのようになります。
Workbooks.Open(ワークブックを開く)
→「Open」がメソッド
Range("A1").Value.Clear(A1セルの値を削除)
→「Clear」がメソッド
操作対象の「オブジェクト」
動作指示の「メソッド」
対象の状態を表す「プロパティ」
「.」ピリオドでつないでVBAコードを作る
VBAのコードはメソッド、プロパティ、オブジェクトが「.」ピリオドでつながることで意味を持ちます。
例えばこういう感じです。
Range("A1").Value.Clear
→A1セルの値を削除
Workbooks.Open
→ワークブックを開く
この2つのコードでピリオドについて、何が違うかわかりますか?
そうです。「.」ピリオドは状況によって読み方が変わるのです。
・プロパティ(状態や様子)のピリオド
→「~の」と訳す
・メソッド(動作を指示)のピリオド
→「~を」と訳す
他にも、例文をあげておきますので参考までに。
< ピリオドを「~の」と読むパターン例 >
Range("A1").Value
→A1セルの値
Range("A1").Font.Size
→A1セルのフォントのサイズ
Sheets(1).Range("A1").Value
→シート1のA1セルの値
ThisWorkbook.Sheets(1).Range("A1").Font.Size
→このワークブックのシート1のA1セルのフォントのサイズ
< ピリオドを「~を」と読むパターン例 >
Range("A1").Value.Clear
→A1セルの値を削除
Range("A1").Copy Range("B1")
→A1セルをB1セルにコピー
Sheets(1).delete
→シート1を削除
ThisWorkbook.Sheets(1).Range("A1").Select
→このワークブックのシート1のA1セルを選択
まとめ
- マクロのコードは主に3つの要素からできている
- 1つ目は操作対象を表す「オブジェクト」。 Range、Worksheetとか
- 2つ目は動作指示を表す「メソッド」。 Copy、Open、Clearとか
- 3つ目は状態や様子を表す「プロパティ」。Size、Colorとか
- マクロコードは「.」で各単語がつながれている
- 「.」は「~の」「~を」と訳す
\ せっかく勉強するならVBAの資格を取ろう! /
文系にもオススメ
-
VBAエキスパートに合格するには?勉強時間と対策を解説
続きを見る