Excel VBAマクロのオブジェクトとメソッド

今回は、プロパティに引き続いてメソッドに関してまとめたいと思います。


前回のまとめ
Excel VBAマクロのオブジェクトとプロパティ - mic_footprints

メソッドとは何か

  • メソッドとは、オブジェクトに対して行う処理のこと
  • つまり、ふるまい
  • プロパティ同様メソッドもオブジェクトとの間を.(ドット)で繋ぐ
  • メソッドには引数(ひきすう)がある
    • プロパティにも引数はあります(あるらしい)

例えば

    • Rangeオブジェクトの中身をクリアしたい時に使用するメソッドは「Clear」
Range("A1:A10").Clear
    • Rangeオブジェクトを選択したい時に使用するメソッドは「Select」
Range("A1:A10").Select

メソッドの引数とは何か

  • メソッドのふるまいを詳細に定義付けるもの

例えば

    • Rangeオブジェクトのメソッドの「End」
      • ふるまい的には、次にセルの値が""になる手前のセルを返す
Range("A1").End(xlDown).Row

この場合

    • Range("A1")がオブジェクト
    • Endがメソッド
    • xlDownが引数
    • Rowがプロパティ

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

先程の、Endメソッドを再び例にとってオブジェクト、プロパティ、メソッドを説明します。

Range("A1").End(xlDown).Row
  • Range("A1")はRangeオブジェクト
  • EndはRangeオブジェクトのメソッド
    • 次にセルの値が空("")になるセルを返す
    • つまり、私たちが認識するべき重要なEndメソッドのふるまいは、「セルを返す」
  • xlDownはEndメソッドの引数
    • Endメソッドは、引数でどの方向のセルを返すかを決定している
    • この場合は、下方向
  • RowはRnageオブジェクトのプロパティ
    • この時のRowがかかっているRangeオブジェクトは、Range("A1").End(xlDown)で表させるセル
    • つまり、Endメソッドのふるまいによって返されたRangeオブジェクトのプロパティであるRowを参照している


このように、オブジェクトとプロパティとメソッドは深く密接に関係し合っています

重要なことのまとめ

  • 自分が指定したものが、何オブジェクトなのかを意識する
    • これにより、使用できるメソッド、プロパティがわかる
  • プロパティはウォッチ式を使用することで、全容を把握できる
    • 自分が取得したい値が何という名前のプロパティなのかを見ることができる
    • 取得したいプロパティが何オブジェクトなのかも、把握することが大切
  • メソッドのふるまいを意識することが重要
    • ふるまいを意識することで、自分が今何オブジェクトを操作しているのかがわかる
    • ふるまいをよく理解しなければ、思い通りの挙動を実現することは難しい


最後までお読みいただきありがとうございました。

やさしくわかるExcel関数・マクロ 改訂版 (Excel徹底活用シリーズ)

やさしくわかるExcel関数・マクロ 改訂版 (Excel徹底活用シリーズ)