★★★★★★Access2000VBA・Excel2000VBA独学~★★★★★★ 超重要!!!『 オブジェクトモデルと、階層構造からにおけるオブジェクトの取得のしくみ・ルール・基本パターン 』 ★★★★★★~
  
※まだ書きかけです。すみません。
※間違ってたらすみません。
※メモ書きなので、自分でも意味不明な箇所も多いです。ごめんなさい。
  
目次

    

  (※PDFはCtrlキーを押しながらマウスのホイールを回すと、拡大縮小ができます。)
  
  

・ヘルプが読めない、
・オブジェクトブラウザが扱えない、
・ExcelVBA的に「バカ」になってしまう・騙されてしまう、
・Q&Aサイトで聞いても、その回答の意味すらわからない、
・エラーが自力でまったく解決できない、
・「値やオブジェクトを返す自作変数が作れない・特にオブジェクトを返す自作関数」、
・結果、「いつまでたっても中級にあがれない」、
・いつまでたっても「下の下」の腕のまま、
・挫折、

・・・などなど、その原因のすべて、「諸悪の根源」のひとつが・・・、

『 冒頭・以降の3つの図を理解できていない。 』

・・・ということです。

ぜひ、冒頭・以降の3つの図のことを学習してみてください。
(PDFはCtrlキーを押しながらマウスのホイールを回すと、拡大縮小ができます。)

多くの講師さん達が、ここをしっかりと教えてくれません。

なので、私たち初心者、独学者は、「カモ」られる一方です。

有料で習っていても、冒頭・以降の3つの図をしっかりと理解できないと、「4流以下の、質の低い講師たち・市販書籍著者・ライター・編集者」たちに、「いつまででも」「好きなように」「カモられ続ける」ので、あるいは、「有料で習っているにも関わらず」「結局」「わからなくて」「挫折」してしまうので、是非、注意して、以下の図の理解に力を注いでください。

僕の描いた図が100%正しいかはわからないので(僕自身が初心者・習う側だから)、この図も鵜呑みにはしないほしいのですが、でも、この構造・階層図を理解すること、また、「このような感じで理解すること」は、非常に重要ですので、是非、この図の学習に力を注いでください。

少なくとも、「4流以下の、質の低い講師たち・市販書籍著者・ライター・編集者」たちにカモられて習い続けるよりは、「かなり」、「マシ」かと思います。

そして、「まともな先生」や「同僚・先輩・後輩のかたがた」に是非、何百ッ回でも、「わかるまで」、「この2つの図をたたき台にして」、質問してみてください。

この図を省略せずにオブジェクト式を書くと、とてつもなく、冗長になってしまいます。
だからこそ、「オブジェクト変数」が登場するのです。
そして、「オブジェクト変数」を学ぶから、「VBAが上達」します。
(VBA学習上・上達上、「超重要」な、「オブジェクトを返す自作関数」が作れるから。)

「With」なんか、先にやったらいけません。
「バカ」になります。
そんなの先にやっても、VBA学習上「超重要」な、「オブジェクトを返す自作関数」なんかひとっつも作れません。

僕自身も完全にダマされてました。

でもVBAの学習を続ける中で・・・、ダマされ続ける中で・・・、最近やっとわかりました。

ぶっちゃけ、「オブジェクト変数」があれば、「私ら初心者が作るレベルのプログラムに限って言えば」、「With」なんかぜんぜん要りません。

特に、なかでも「ビジネス用途の定型的な、集計・リストアップ・表操作などに限れば」、要りません。

「オブジェクト変数」のほうが「はるかに」、「10倍も20倍も」、「重要」、です。

グラフ操作やシュミレーションや統計、ゲーム作成などにVBAを使うならわかりませんけど・・・。(もちろんWithが必要なケースもあろうかと思います。)

「1ミリ秒でも」「速くしたい」というときもわかりませんが・・・。

でも、先に、「絶対に」、「オブジェクト変数」をやってください。

Withなんか使えなくても(理屈だけ知っていれば)ヘルプやオブジェクトブラウザは読めますが、「オブジェクト変数」は使うことも理屈もわからないと、ヘルプやオブジェクトブラウザが読めません。

そのための、階層構造と、オブジェクトの取得、です。

※もちろん、ゆくゆくは「With」は必要ではあるかもしれません。
でもそれは、「Withが無いとどうしようもない場合」、「だけ」です。
(会社のルールでWithを強要されている場合も一応含めて。)

  


  

※以下、ワークシートの分の一部までしか作っていませんが、そこそこわかると思います。
それぞれのオブジェクトに、短い注釈もつけてあります。
基本、「コレクション」をあえて、「単一オブジェクト」と同じ階層・横位置、に位置させて書いてあります。
私ら、初心者は、そのほうが、「ヘルプとオブジェクトブラウザ」がリンクしして学べる、と思うので、もしこれが間違いでも、「最初のうちだけ」でもそういう形で学んだほうがいいと思います。

  
  
※ WorkSheetオブジェクト(単一のワークシート)を取得する事例の図。
最初の図を少し説明書きを省いたり書き換えたりして内容変更したものです。
最初の図とともに、印刷して、並べて見比べて使ってみてください。

  

上記の3つのPDFと、それのモトとなったExcelファイルをZIPにしてまとめたものをダウンロードできるようにしてありますので、以下の「Zipのダウンロード」のリンクからダウンロードしてみて、そちらでもチェックしてみてください。
Excelファイルの方は、ご自分の学習用として、色々書き足したりもして使ってみてください。

Zipのダウンロード
(PDF×2とExcelファイル×4の 6つのファイル・1.2MBです。ウィルスチェックはESETでやってあります。)