ExcelVBA

【Excelマクロ入門】基本文法をやさしく解説(オブジェクト,メソッド,プロパティ)


悩んでる人
エクセルマクロの基本的な文法を知りたい!
分かった。Excelマクロには基本的な「型」がある。初心者が抑えるべき「型のポイント」を簡単に教えよう。
Mr.マクロン

ということで、今回は「基本文法をやさしく解説」というテーマでお伝えします。

マクロのコードは3つの要素で成り立っている

マクロコードは、主に3つから成り立っています。

  • オブジェクト
  • プロパティ
  • メソッド


Mr.マクロン
マクロ素人なら「何だそれ?」と思っただろう。これから解説するから、まぁ慌てるな。


①オブジェクトとは?

オブジェクト=マクロの「操作対象


例えば、次のような一文があったとします。

「佐藤さん.走って」
「鈴木さん.止まって」

ここでの操作対象は?と聞かれた場合、どう答えますか?

そうです。「佐藤さん」「鈴木さん」が操作対象になります。つまり、「佐藤さん」「鈴木さん」がオブジェクトです。

”走る”対象は「佐藤さん」だし、”飲む”対象は「鈴木さん」ですよね。

では、次の文ではどうでしょう?

「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」がメソッド

Mr.マクロン
どうだい?あまり聞きなれない言葉ばかりで疲れただろう。簡単にまとめよう。

 

操作対象の「オブジェクト」
動作指示の「メソッド」
対象の状態を表す「プロパティ」


「.」ピリオドでつないでVBAコードを作る

VBAのコードはメソッド、プロパティ、オブジェクトが「.」ピリオドでつながることで意味を持ちます。

例えばこういう感じです。

Range("A1").Value.Clear
→A1セルの値を削除

Workbooks.Open
→ワークブックを開く

この2つのコードでピリオドについて、何が違うかわかりますか?


そうです。「.」ピリオドは状況によって読み方が変わるのです。

・プロパティ(状態や様子)のピリオド
「~の」と訳す

・メソッド(動作を指示)のピリオド
「~を」と訳す



他にも、例文をあげておきますので参考までに。

< ピリオドを「~の」と読むパターン例 >

Range("A1").Value 
→A1セル

Range("A1").Font.Size 
→A1セルフォントサイズ

Sheets(1).Range("A1").Value
→シート1A1セル

ThisWorkbook.Sheets(1).Range("A1").Font.Size
→このワークブックシート1A1セルフォントサイズ



< ピリオドを「~を」と読むパターン例 >

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の資格を取ろう! /


文系にもオススメ

【合格体験記】エクセルマクロの資格に一発合格する方法

続きを見る

  • この記事を書いた人
  • 最新記事

RYO

福岡出身34歳|10年越え中堅サラリーマン|WEB制作や Excel,Accessなどが得意|趣味のカメラは歴10年|動画編集も得意|保有資格|MOSマスター|SEO検定全級(1〜4級)|ITパスポートなど|現在、自身の知見や趣味に関する記事執筆をコツコツと行っている。

-ExcelVBA
-, , ,