Excel VBA入門 | 基本形「オブジェクト.メソッド 引数 := 値」の派生形(その3)

Excel VBA入門

更新日:2018年1月7日 公開日:2018年1月6日

Excel VBAを学ぶ上で、文法の基本を学ぶことは言うまでもなく重要です。

ここではオブジェクト式のうち、「オブジェクト.メソッド 引数 := 値」の派生形について解説します。

※オブジェクト式や基本形「オブジェクト.メソッド 引数 := 値」については「Excel VBA入門 | オブジェクト式とプロパティ、メソッド」をご参照ください。引数の設定方法などについても解説しています。

【注意事項】オブジェクト式の派生形について
サイト管理者の実務経験から帰納的に派生形としてまとめています。従って当サイト独自の考え方に基づくものです。また実務経験に基づくものであるため、不定期に更新する可能性があります。この点をご理解頂いたうえでお読みください。

基本形「オブジェクト.メソッド 引数 := 値」の派生形(その3)【Excel VBA入門】
目次

1.「オブジェクト.メソッド 引数 := 値」の派生形

「オブジェクト.メソッド 引数 := 値」の派生形には、次の式があります。

【派生形2-1】 オブジェクト.メソッド 引数1 := 値1 , 引数2 := 値2 ・・・ , 引数N := 値N
【派生形2-2】 オブジェクト1.オブジェクト2 ・・・ .オブジェクトN .メソッド 引数 := 値
今回解説→【派生形2-3】 オブジェクト.メソッド 引数 := オブジェクト

【補足】もう一つのオブジェクト式(基本形)である、「オブジェクト.プロパティ = 値」の派生形には、次の式があります。ご参考ください。

【派生形1-1】 オブジェクト1.プロパティ1 = オブジェクト2.プロパティ2
【派生形1-2】 オブジェクト1.オブジェクト2・・・.オブジェクトN.プロパティ = 値
【派生形1-3】 オブジェクト.プロパティ1.プロパティ2 ・・・ .プロパティN = 値
【派生形1-4】 オブジェクト.プロパティ = 関数( 引数1,引数2,・・・引数N )

2.【派生形2-3】 オブジェクト.メソッド 引数 := オブジェクト

この派生形は、引数に値ではなくオブジェクトを設定するケースです。

この派生形で使用される代表的なオブジェクトとメソッドとして、RangeオブジェクトのCopyメソッドが存在します。

3.使用例

次の例では、ワークシート上のA2セルの値をB2セルにコピーします。

【VBA実行前】

Excel VBA オブジェクト式の派生形

【プログラム】

Sub セルA2の値をセルB2にコピー()

Range("A2").Copy Destination:=Range("B2")   '(1)

End Sub

【VBA実行後】

Excel VBA オブジェクト式の派生形

【解説】

(1)Range("A2").Copy Destination:=Range("B2") '(1)
→RangeオブジェクトのCopyメソッドを使用して、A2セルの値をB2セルにコピーします。

派生形「オブジェクト.メソッド 引数 := オブジェクト」の典型例になります。

Rangeオブジェクトは、「Range("セル")」でワークシート上のセルを表します。「"セル"」の部分には「"A2"」のように、「"(ダブルクォーテーション)」でセル記号を囲みます。

CopyメソッドはRangeオブジェクトで指定したセルをコピー先のセルにコピーします。

コピー先のセルは引数Destinationで設定します。

今回の使用例では、引数には値ではなく、セルB2を設定しないと想定通りに動作しません。そこで、「Destination:=Range("B2")」と、Rangeオブジェクトを使用して、セルB2を引数Destinationとして設定しています。

その他、引数のコーディング(記述)ですが、「引数:= 」の部分は省略して記述することも可能です。その他引数に関するコーディングについては、「Excel VBA入門 | オブジェクト式とプロパティ、メソッド」をご参照ください。