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

    

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

=================

以下本文です。

  
  
いきなりですが・・・・

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

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

『 冒頭・以降の3つの図をそもそも教えてもらえていない。 』
結果、
『 冒頭・以降の3つの図を理解できていない。 』

・・・ということです。

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

有料で習っていたとしても、大変残念ながら、冒頭・以降の3つの図をしっかりと理解できないと・・・・、「有料で習っているにも関わらず」「結局」「わからなくて」「挫折」してしまうので、是非、注意して、以下の図の理解に力を注いでください。

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

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

この図たちをベースに、省略せずにオブジェクト式を書くと(特に「Item」を略さずに書くと)、とてつもなく、冗長になってしまいます。

でも、だからこそ、「オブジェクト変数」が登場するのです。

そして、「オブジェクト変数」を学ぶからこそ、「VBAが上達」します。
(VBA学習上・上達上、「超重要」な、「オブジェクトを返す自作関数」が作れるから。)

「With」を、先にやってはいけません。
良くない言い方で大変申し訳ございませんが、「VBA的にバカ」にさせられてしまいます。
そちらを先にやっても、VBA学習上の「真のスタートライン」・かつ・「超重要」な、「オブジェクトを返す自作関数」がひとつも作れないのです。

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

ピボットやQueryTableオブジェクトを使う時は使ったりはしますが、でもオブジェクト変数を使えばWithは使わなくても全然問題ありません。
こちらも他人に使ってもらうレベルのプログラムであってもです。

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

「短くすっきり書く」という意味からも、その他の重要な意味からも、「オブジェクト変数」のほうが、「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でやってあります。)