EXCELを学習していると、以下の概念に 必ず触れることになります。
・オブジェクト
・インデックス
・プロパティ
・メソッド
どのVBAの本でも最初の方に解説され、以降あまり出てくることはないのですが、実際にVBAでプログラミングを始めてファイルやフォルダを動かすようになると、この概念が重要であることに気がつくようになります。
Worksheets(1).Range(“A1”).value
上記の例文でいえば、
Worksheetsや Range ←オブジェクト
(1) や (“A1”) ←インデックス
Value ←プロパティ
で、valueの代わりにselectやclearなどのメソッドが入ることがあります。
この概念がわかるようになると”インデックスが有効範囲にありません”といった意味不明なエラー文の意味がわかるようになるのですが、本の解説などでは「プロパティ=性質」と抽象的に書かれていたりして、わかったようでわからなかったりします。
個人的に、”おでん”に例えたらわかりやすかったので整理します。
オブジェクト=おでんの具

オブジェクトは”Worksheets”のように、概念を指しているだけです。
おでんで言えば、”たまご”とか”はんぺん”と言っているだけで、
指さして”この卵!”とか”左から2番めの牛すじ!”と言っているわけではありません。ここまで指定するために、インデックス( ”左から2番め” の文言)を使います。
そしてインデックスを指定するには、そこに具があることが必要です。
”ちくわぶ”が1個しか無いのに”2個目のちくわぶ!”と言えば、主人(VBA)は「無いよ」と返します。これが”インデックスが有効範囲にありません”の意味です。
プロパティ=おでんの味や色合い



”左から2番めの牛すじ”を指定したとします。この牛すじには色々な要素があります。味はもちろん、色合いや煮込み時間……。
これらの要素に対して命令をだす場合、その要素名を書きます。それがプロパティです。要素によって必要な値や引数が違います。
メソッド=食べる、移す、選ぶ



メソッドは何らかの処理を行う命令を指します。
おでんで言えば、左から2番めの牛すじを”選ぶ (select) ”というのも立派なメソッドです。
おわりに
オブジェクトは単なる概念であることや、インデックスはあるものしか指定できないということがわかると、エラーが出た時に多少デバッグしやすくなります。
また、本で紹介されている内容が抽象的なときは、具体的な何かに例えると理解しやすくなります。
私は食べ物が好きなので、おでんやカレーに例える事が多いです。 欠点はおなかが空くことぐらいでしょうか。