VBA

オブジェクト・プロパティ・メソッドとは? 違いをわかりやすく説明:Excel VBA入門 #1

VBA
この記事は約5分で読めます。

Excelを動かすためのプログラミング言語であるVBA(Visual Basic for Applications)をこれから始める入門者の方に1番最初に覚えて欲しいVBAコードを読み解く基本用語をご紹介します。VBAを理解するにはまずはExcelのマクロのコードの各行がどのような文章の構造になっているかを見分けられる必要があります。そのために欠かせないのが、「オブジェクト・プロパティ・メソッド・引数」の4つです。

VBAの用語を一つずつ調べていく方法でも上達はしますが、基本的な構造を最初に理解することで学習スピードを急激に上げることができます。そこでまずはVBAの学習をする初めにVBAの構造をご説明します。

VBAのオブジェクトとは

VBAのオブジェクトとは操作をする対象のことです。例えば「ボールを投げる」という文章の場合は、ボールがオブジェクトになります。そしてこの「投げる」という動詞はメソッドになります。

他にもわかりやすく例をあげると以下があります。

  • 「ジュースを飲む」の場合:オブジェクトはジュースで、飲むがメソッドになります。
  • 「テレビを見る」の場合:オブジェクトはテレビで、見るがメソッドになります。
  • 「電車に乗る」の場合:オブジェクトは電車で、乗るがメソッドになります。

オブジェクトやメソッドのような英語になっているととてもわかりづらいですが、動作の対象と動詞というように考えるとわかりやすかったと思います。では実際にEXCELのVBAオブジェクトでも簡単に説明していきます。

Sub vba_sentaku()
Range("A1").Slect
End Sub

例えば「Range(“A1”).Slect」の場合は、Range=オブジェクト、Select=メソッドになります。

Rangeは、セルやセル範囲を指定するオブジェクト(対象)です。つまり、Range(“A1”)とは、A1セルという対象(オブジェクト)を指定しています。

そしてSelectは、選択するというメソッド(動詞)になるため、「Range(“A1”).Slect」はA1のセルを選択するということになります。こうやって説明されるとオブジェクトとメソッドはもう完璧ですね。

そしてオブジェクトには、Workbookオブジェクト、Worksheetオブジェクトもあります。

Workbookオブジェクトとは、どのWorkbookを対象とするのかを指定し、Worksheetオブジェクトとは、どのWorksheetを対象としているのかを指定します。

つまり、階層で表すとWorkbookオブジェクト→Worksheetオブジェクト→Rangeオブジェクト(セル)という順番になります。

具体的にわかりやすく説明すると、Workbooks(“Book1.xlsx”).Worksheets(“Sheet1”).Range(“A1”)の場合は、 “Excelファイル名がBook1.xlsx”の中にある”シート名がSheet1″の”セルA1″を対象にしていることになります。

VBAのプロパティとは

VBAのプロパティとはオブジェクトの特徴、性質、属性を示しています。例えば「ボールの色」という文章の場合は、ボールがオブジェクトになりますが、色がプロパティになります。

他にもわかりやすく例をあげると以下があります。

  • 「スマホの形」の場合:オブジェクトはスマホで、形がプロパティになります。
  • 「テレビの重さ」の場合:オブジェクトはテレビで、重さがプロパティになります。
  • 「電車の色」の場合:オブジェクトは電車で、色がプロパティになります。

プロパティも英語で言われるととてもわかりづらいですが、対象の様子や状態というように考えるとわかりやすかったと思います。では実際にEXCELのVBAプロパティでも簡単に説明していきます。

Sub vba_atai()
Range("A1").Value = 100
End Sub

例えば「Range(“A1”).Value = 100」の場合は、Range=オブジェクト、Value=プロパティになり、A1のセル(オブジェクト)に値を100と入力する意味になります。

その他にもVBAのプロパティとして、罫線の色や文字の色、セルの高さなど沢山あります。「オブジェクト,プロパティ = 設定値」という構文になることを頭に入れておけばわかりやすいですね。

VBAのメソッドとは

VBAのメソッドについては既にオブジェクトの箇所で説明をしていますが、念のため再度詳細を説明しておきます。

VBAのメソッドとは、方法や動作を表しており、操作対象であるオブジェクトに何らかのアクションを起こすような命令(動詞)になります。記述の方式は、「オブジェクト.メソッド」となり、ご飯を食べるの場合は、「ご飯.食べる」という簡単な構文です。

しかしご飯を食べるという動作だけでは「何時に」「どこで」といった情報が分かりません。そのような時間や場所といった追加情報をつけるときに”引数”を使います。

具体的な引数として、「ご飯を12時にマクドナルドで食べる」の場合の記述方法は、「ご飯.食べる 時間:=12時, 場所:= “マクドナルド”」となります。引数の場合は、「ドット(.)」でつなげるのではなく、「:=」をつけて情報を追加します。

しかしすべてのメソッドに引数があるわけではなく、メソッドによって付けられる引数が変わる事があります。

Sub vba_haritsuke()
ActiveSheet.Paste Destination:=Range("A1")
End Sub

例えば「ActiveSheet.Paste Destination:=Range(“A1”)」でわかりやすく説明すると、
ActiveSheetは、現在選択しているシートを表しています。そしてセルA1という場所(引数)に、Paste(メソッド)貼り付けるという命令になります。意外と簡単なことがわかります。

Excel VBA入門:オブジェクト・プロパティ・メソッドとは?のまとめ

VBAの基本構文は、オブジェクト、プロパティ、メソッド、引数の4つとなっています。この4つだけで色々とエクセルを操ることができるので、覚え出したら楽しすぎて止まらなくなります。

特にマーケターの方はエクセルでレポートを作成したり、分析したりすることが多いですが、いつも同じ作業を繰り返しているのであれば、VBAを覚えるだけで簡単に作業を自動化することができます。是非これからVBA入門で学んでいって、自分のものにしてください。

コメント

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