Access2000VBA・Excel2000VBA独学~「無駄のないプログラミングの学び方」とは?→ あるわけない。そんなもの。と思っています。レジェンドの「o」先生の「姿勢」に対する疑問、「いいVBAの先生・ダメな先生を30秒で見分ける・判断する方法」、など~
  
※まだ書きかけです。すみません。
※間違ってたらすみません。
※メモ書きなので、自分でも意味不明な箇所も多いです。ごめんなさい。
  
  

僕はAccessは多少わかりますが、ExcelVBAは全然わかりませんでした。

今でも、ExcelVBAは初心者レベルで、今もなお勉強中です。

そんななか、ExcelVBAの勉強の仕方について、少し感じたことをお話ししたいと思います。

さて、もしかしたら、多くの方が、「無駄のないプログラミングの学び方」があると思って、少しでも効率よく学ぼう、と考えていらっしゃるかもしれません。

僕も昔はそうも思いましたが、今こうして勉強していると、「無駄のないプログラミングの学び方」なんてものは無い、と思ってしまいます。

ここで言う「無駄のないプログラミングの学び方」とは、例えば「サルでもわかるとか、10日でわかるとか、1日で即戦力とか、ほったらかしでも寝てても終わりますとか、これさえ覚えればマスター確実」とかの謳い文句の書籍やWebサイトでの学習のことです。

これまでExcelVBAを学んできて思うのは、「そんな愚かなもの」を求めてしまうと、「無駄の中にこそ真実がある」的なことを見つけることができず、かえって中途半端な学びになってしまい、(自分自身勉強してて)結局自分は、「勉強不足のただのバカ・知ったかぶりの応用のできないバカ」に成り下がってしまう確率が上がることがわかりました。

例えば、今の状況では最初から・・・「特にExcelVBAは無駄なコードを書きやすい」気がします。

そうなってしまう理由は、例えばExcelVBAでは、VBAの基本以外に、SQL、リレーション、Microsoft Query(QueryTableオブジェクト)、ADO、DAO、COMオートメーション、あえてのマクロの記録活用とコマンドバー操作連携(オブジェクト調査ではなくマジな活用・利用)、ピボットのVBA操作、ということを知らなさすぎるから(ぜんぜん教わらないから)、だと思います。

もっと言うと、実は、「オブジェクト変数」「オブジェクトブラウザ」「階層構造の省略のないオブジェクト式」すら理解できないで、「使えない」という人が決して少なくないそうです。

だから、最初から、特にExcelVBAでは、「無駄なコードを書きやすい、知ったかぶり」になりやすいんだと理解しています。

例えばですが、前述の項目のうち 特に「SQL」はとても重要で、ある意味(データを扱う以上は・特にビジネス定型集計やリストアップでは)、ExcelVBAなんかよりもよっぽど重要で、「データ管理の基礎・自動計算機」的な機能を持っているものです。

それゆえ・・・、そもそも、その「効率的なデータ管理の基礎」を知らない人がいくらプログラミングを学んだところで、無駄で・効率の悪い・可読性の低いコードを書くに決まっています。(もちろん、僕も、ですけど)

SQLのような「データ管理の基礎」は、『最初から、難しいプログラミングをしなくてもラクに集計やリストアップができるように設計されていて、30年も前から、多くの計算系のソフトやデータベースソフトで使える』のに、特に巷のExcelVBA教習や市販書籍では、「表計算ソフトなのにもかかわらず」、SQLについての学習を最初から無視して放棄してしまっているわけですから、教わる側さんが無駄なプログラムを書きまくるのも無理はない・・・と思ってしまいます。

教える側の怠慢といいますか・・・

これは、誤解を恐れずに「教わる側の立場」として言ってしまうと、日本のExcelVBA教育の先駆者・第一人者でもあらせられます、「o」先生の教え方があまりよくなかった、ということかもしれません。

あるいは、「o」先生のお弟子さん(??)のライターの皆さんたち(××××の方々??)、もそうかもしれません。普段お世話になっているので本当はこんなこと言ってはいけないと思うのですが・・・。(でも日本の多くの現場や未来・お子さんたちのためにあえて書かせて頂いてしまいました。本当に申し訳ございません。)

なぜ「o」先生たちは、「SQL」を教えてくれなかったのでしょうか?

Excelでも、(特にバージョン2000以降で扱いやすくなった)MicrosoftQueryや、QueryTableオブジェクト、ADO、DAO、などで扱えるから「絶対に知っている」「重要性を理解しているはず」なのに・・・。

僕はExcelVBAよりも、AccessVBAを先にやっていたので、初めてExcelVBAでセルアドレス中心のプログラムコードを読んだ時は目が回ってしまいました。(同じように「ループ構文」で値の書き換えなどをするADOやDAOでは、セル番地のようなものではなくて「列名」で操作するので まだわかりやすかったですから・・・・)

「なんで、こんなわかりにくくて(可読性が低くて)面倒くさくて、ExcelVBAって、なんで一括データ書きかえに、なんでいちいちループ構文なんか使うんだ?あーめんどくせー!!」と思ってしまいました。
※同時に、これがわかるならAccessもすぐに扱えると思うんだけど・・・。すげー。とも思いました。

最近は少し慣れてきましたけど、でも僕のような低能バカ・ExcelVBAのド素人には、どうにもセル番地+ループで値を書き換えるのが面倒くさいです。

最初のうちはしょうがないとおもっていたのですが、でも、学んでいくと、ExcelでもMicrosoft QueryやピボットのCommandTextなどでSQLが使えるじゃありませんか!(っていうほどSQL使ってませんけど・・・)

だから、「なんでこれを先に教えてくれない?だってシステム業者はSQLのほうが圧倒的に多く知ってるよね?だってSQLのほうがExcelVBAなんかよりも圧倒的にシステム業界・データ管理業界の標準語なんじゃないの?なのになんで「o」先生たちは、SQLやMicrosoft Query(QueryTableオブジェクト)のことをせめて、一冊の本にされなかったの?」と今でも疑問に思ってしまいます。
僕はそれで勉強したかった・・・。

ちなみに僕は、たとえば「o」先生の書かれた書籍の表紙などにあるような「その作業、ほったらかしでも寝てても終わります」とか、「てっとり早く確実にマスターできる 」といった謳い文句(?)が大嫌いです。
これは多分、出版社の責任なんでしょうけど。(でもOK出すのはご本人様ですよね?たぶん・・・。)

もちろん「o」先生の本に限らず、IT系の書籍の誇大広告では「サルでもわかる」とか「3日(10日)でマスター」とか「読めばわかる」とか、「たった1日で即戦力になる」とか、VBAの本に限らず、OSやその他のソフトの一般操作の本でも、本当にウソ・騙しに近いものが多いので、マジで腹立ちます。

ウソばかりだからIT業界って信用されないんでしょうね。

一般操作であっても、そんな1日で即戦力になんかなるわけないだろ?バカか?と思います。

そんな本読んで本当に「VBA初心者」や「Excel初心者・パソコン初心者」で、「1日で即戦力になったヤツ」がいたら目の前に連れてこいと言いたいです。
いたとしても「じゃあ何人いるんだよ?」という話です。
そんな本で即戦力なれる人って、もとからVBAやPC操作がバリバリで、そんな本読まなくても即戦力のレベルの人だけでしょ?

それにタイピングが遅かったら、VBAの知識が多少あったって、即戦力になんかならないじゃん。(僕は遅いから即戦力になんてならないけど)

もっと言うと、「1冊たったの300ページくらいに、しかも図入りでまとめた内容なんて」「そもそもIT系の基礎知識としては圧倒的に少なすぎる」でしょ?、と思います。
だって図だけで相当ページ食ってしまいますから。

「てっとり早く確実にマスターできる」だなんて、そんなのだけで自分が思うシステムが組めるわけありません。それもたったの300ページごときしかありません。そんな情報量でどうやってSQLやQueryTableオブジェクト、ADO、DAO、COMオートメーションなどを教えるっていうんでしょうか?
どうやって、グラフやピボットをできるだけ少ない労力で自由自在に動かせる、っていうんでしょうか?

「ある程度確実にマスターさせたいなら」「最低1000ページは用意してくれ」と言いたいですよね。だって何度も言いますけど「図」入りでしょう?

「図入りならなおさら、たったの1000ページごときも読めない人が」、自由に、かつ、コスパアップできる、かつ、メンテナンスもしやすいプログラムなんて作れるわけないじゃないですか。

プログラミングやシステム構築をなめておいでなの?とも思います。

そもそも、なんで「Excelプログラミングのプロ」が、「Excelプログミングをナメたような謳い文句を使うのか」さっぱりわかりません。

ExcelVBAの基礎に加えて、「SQLやSQLでのリレーション、QueryTableオブジェクト、ADO、DAO、COMオートメーション」といった便利・かつ効率化をしてくれる機能の基礎事項を書くだけで多分、図入りなら最低限 2000ページは必要なのでは?

「どんなものごとでも」、重要かつ応用の利く基礎事項が、(応用できるレベルになれるように説明するのには)たったの300ページで書ききれるわけないし、自力での応用ができないなら、「確実に身に付いた」なんて、口が裂けても言えませんよね?
ノウハウって口で説明しにくい部分もあるから、それを考えたら「どんなものごとでも」、普通は2000ページくらいは必要です。

それをたったの300ページで「確実にマスターできる」「1日で即戦力」だなんて我々 読者を、生徒を、教えてもらいたい側を、初心者を、「バカにするのもいいかげんにしてほしい」ですよね。

VBEのオブジェクトブラウザの利用方法・使用目的・画面の意味が分からない人間、VBAヘルプが自力で読めない人間(つまりVBAの基本用語の理解すらしていない人間)が、VBAのマスターなんてできるわけねえべ?エラーが自力で解決できるわけねえべ? 多くのExcel講師の人たちはそれがわかってるくせになんでそれを無料公開Webページで教えない? そもそもSQLもリレーションも分わからない人がExcelをコンピュータとして使えるわけないんだから=紙と電卓の延長としてだけにしか使えないに決まってるんだから、VBAコードもムダなコードが増えるに決まってるべ?特に僕のようなバカな初心者は・・・と思ってしまいます。

なんでそういうこと言う人間がもっとおらんの?
(ごめんなさい!書いてたら勢いがつきすぎてしまいました・・・)

(繰り返しになりますがこれが)「教わる側の立場」としての「本当にこころからの正直な「感想」です。

こんなこと書いてはいけないとも思うのですが、「教わる側の立場」としては本当にそう思ってしまいます。

今のままの教え方では、『次の世代の方々やお子さんがたが、効率やコスパのことを考えられないまま 学校その他でVBAを学んでしまう・・・』、というか、大袈裟かもしれませんが、『もしかしたら日本全体の他国との競争にもかかわってくる問題になる・・・』かもしれません。

逆に、SQL、SQLでのリレーション、Microsoft Query(QueryTableオブジェクト)、ADO、DAO、COMオートメーション、ピボットのVBA操作、等々を知っていれば、そこそこ無駄なプログラムを書かずにすみます。(失礼を承知で書いてしまいますが、これらの項目を知らない・わからない人は、Excelをコンピュータとしては扱えず、紙と電卓の延長としてしか使えない人です。Excelはコンピュータとしての使い方と紙と電卓の延長としての使い方、両方ができてはじめて、真にコスパアップが望めるソフトだと思います。どちらが欠けてもいけませんが、紙と電卓の延長としての使い方しか知らない人がVBAを書くと、どうしてもメンテのしにくいエラーの出やすい無駄なコードが増えます。特に機能追加や改修をしたときにエラーが出まくり、余計で無駄な時間を取られます。)

プラス、TPOに合わせて機能のコーディネイトバランスを変えていくことができると思います。

ひいては、それがコスパアップにもつながると思います。

でも、VBAの基礎とともに、これらも一緒に「全部を一緒に」教えてくれる本やサイトはあまりありません。

「効率化のためには絶対に落とせない他のキーポイントとして、一応、こういうこともあるんです・・・」とか、「基礎を学んだらぜひSQLも!」的なことすら教えてくれません。

「いっぺんに覚えても、覚えきれないだろうから」という配慮からだと思いますが、でもそれだと「結局、何もできないに等しい」状態になってしまいます。

だから、結局、「いっぺんに全部」、覚えるしかありません。

ムリだとしても、「いっぺんに全部」、覚えるための項目・目次くらいは見ておかないといけません。

結局、プログラミングの勉強は、「無駄だろうが無駄じゃなかろうか、関係なく、貪欲に頭の中につめこんでいく」ということしかないのだと思います。(アルゴリズムは別として)

「効率よく」なんてカッコつけて貪欲にならず、小さなひとつひとつの積み重ねを嫌う人は、「無駄のないプログラミングの学び方」なんてものを求めた人は、「結局、知らないことだらけになってしまう」と思います。

あの本はダメだ、この本はダメだ、とダメ出しばかりしている人もそうかもしれません。

でも、いくらダメな本でも、1つや2つは ためになることが書いてあるはずです。特に初心者が読む場合は。その1つや2つを自分の「マインドマップ」(後述)などに書き足していけばいいのです。
でなければ結果、「何もできない」か、「狭い世界で無駄なコードを書きまくって、コスパのアップがいっこうにできない」のがオチになってしまう・・・ということになりやすいのだと思います。

そんなことなら、最初からExcelVBAなんてやらないほうがよく、安い外注に出すほうがよっぽどかマシです。明らかにコスパアップにつながります。

Excelでのエンドユーザーコンピューティングって、結局は大したもの作れないとか、専任じゃない営業の人が兼務してサービス残業してしまうとかで、そのような現実の中で作られることが多いので、結局は高価・・・ですよね。
ユーザー別セキュリティなんてかけられないくせに、高価。

ソフトウェア代金が数万、かからないだけで。

あとは全部、コスト。

話がそれてすみません。

ただ、僕自身は、いろんな本からの情報を、自分なりに、マインドマップとかフィッシュボーンのような感じで表化・図式化して、今でも継続して、ちょっとずつ、書き加えて、「全体像の地図」「相関図」「関係図」を作り続けています。

これをするようになってから、僕もすこし、ExcelVBAが分かるようになってきました。

例えば、↓ こんな感じの図ですけど・・・。

ExcelVBAの基礎のマインドマップ的な相関図メモ
『●VBAの基礎の相関一覧図.xlsx』のZIPファイル
https://euc-access-excel-db.com/00000WPZIP/vba_badic_zu.zip
(解凍後、ファイルオープンしてから↓この図が表示されるまでが少し時間がかかるかもです。)(ダウンロードして解凍後、ファイルオープンしてから ↓ この図が表示されるまでが少し時間がかかるかもです。)

↑ この図をクリックすると、PDFが開きますが、すべての横書きテキストボックスで、文章のおわりが途切れてしまっています。また、拡大すると画像が荒すぎてまともに見えません。なので「大体わかればいい」というときなどにお使いください。
「Ctrl+マウスホイール回転」、で拡大すると、文字だけはきれいに見えます。
正式には(正常表示できるものとしては)、前述の、xlsxファイルのほうが見やすいので、そちらもダウンロードして見てみてください。
テキストボックス内の文の途切れもありませんし、図中の「変数に関する表」をもう少し詳しくしたシート「●変数と生データに関する一覧表_詳細」が2枚目に付いています。
基本、この図の「一語一句でも」、わからないところがあったら、絶対に中級には上がれません。自力でのエラー解決も難しいので それまでVBAの学習にかけた時間やお金もドブに捨てる可能性が大です。私はExcel自体のド素人なので図が間違っているかもしれませんが、そうでしたら、先生や先輩に、「わかるまで何百回でも」何がどう間違っているかを聞いてください。もちろん普通にわからないところも。

  

例えばですが、こういうマインドマップ的な図表を、「ごちゃごちゃしててわかりづらい」と敬遠するような人、読もうとしない人、読まないなら自分で作ろうとしない人、は、プログラミングには向かないですし、やっても、僕のように中途半端なところまでしか行けず、「知らないことだらけ」「思い出せない」「思い出せないとわかっているにも関わらず何もしない」になってしまうのがオチですから、なら、最初からVBAなんかやらないほうがいいです。(あくまでもコスパが要求される「一般的なお仕事の中では」ですが・・・。趣味とか楽しむというだけの場合・コスパなんてどうでもいい・時間なんてどんだけでもかけられる、という場合はこの限りではありません。)

やらないようにして、でも、ぜひ、安い外注さんを見つけてください。

これは嫌味で言っているのではなくて、コスパを考える、即断する、無駄なことを試さない、ということなんです。

「VBAなんか、逆にあえて 自分ではやらない選択肢を選ぶ方が、賢い」という選択肢だってある・・・・ということなんです。

VBAのレジェンドさんたちは、「自分がもう分かっているから」、「簡単だ簡単だ」とか、「難しく考えなくていいんだよ」とか、「これだけ覚えればOK!」とか無責任なことを自らの書籍で言いまくってますが、「そんなわけあるか!騙しもいい加減にしろ!」というオチになるのが現実です。

「なんでもタダ!」とか言う愚かな人もいますけど、それも9割以上がウソ。
「全部タダ!なんでもタダ!」とか言う人はコスト意識ゼロ。

そんな人の言うこと聞いたら騙されてドツボにはまります。

Excelの数万がタダなだけで、作る人の人件費ってもんがあります。
誰かに作らせるのか、自分で作るのか、知りませんが、自分で作るなら勤務中に作るなら当然人件費がかかります。もしそんな中で、サービス残業させて作らせるのなら、奴隷。あるいは預金の取り崩しみたいなもの。

作るお金もタダになるのは、サービス残業か奴隷契約だけ。
サービス残業や奴隷契約が「勉強会」という名前で実施され、作らされることもあるかもしれません。
そんなことをあたなはしたいですか?
ご自分の息子さんや娘さんがそんなことやらされていたらどう思われますか?

数万払ってでもちゃんとした先生に習って、時短したほうが、コストはかかりにくいですが、それでも当然、制作費がタダなわけはありません。

「自分が思うシステムが作りたい!」と思ったら、上に掲げた図の一語一句全部が「理解できる」「暗記している」状態でないといけません。

でなければ、「システム」はおろか、「ちょとしたツール」だって作れない可能性があります。
「エラーが出たら」まず自分一人では対処できません。
Q&Aサイトで質問しても「回答を理解することすら」できません。

逆に言うと、上に掲げた図の一語一句全て(VBAの基礎の「目次」)が「理解できる」「暗記している」状態であれば、そこそこのものが作れると思います。
エラーの自力での解決ももちろん夢ではありません。

レジェンドさんたちはこういうことをいっぺんには教えてくれません。

あの方々たちは、「最低限どこまでやらないとだめか」、ということを教えてくれないのです。

僕は、提示しますし、できますよ。

まだExcelVBAを勉強しはじめの初心者ですけど。

上記の図です。
これが、「最低限どこまでやらないとだめか」ということを表しています。
この図のなかの、相関の矢印と単語で、「1つでも」わからないところがあたったら「ダメ」です。
全部「丸暗記」できてないといけません。

(まだ作りかけですし、間違いもあるかもしれないですけど)そもそも上記の図ごときが暗記できないなら、もう最初からVBAなんか、やめておいたほうがいいですよ。

ぜひ外注さんを探してください。

ただ、上記の図は、やる気さえあれば、「どんな人でも(中高生でも)」、1年くらいあればなんとかその深いところまでを理解できます。「死ぬほど難しい」わけじゃないし、「基礎中の基礎」なので。
特に「ツール」や「シュミレーション」「工程表(ガントチャート)」などの作成をしたい場合なら。

ほんとはSQLも、ADO、DAO、COMオートメーションもやらないといけませんけど、そのことはまだこのマインドマップ的な図には書いてありません。これから、もし書く時間がとれたら書くかもしれません。
(※特に「システム」を作りたい人はExcelであってもSQL、ADO、DAO、COMオートメーションは必須です。それらのおかげで無駄なクラスモジュールも作らなくて済むことがあります。だた、ここで言う「システム」は「複数人の同時アクセス」を前提としています。なのでそれをExcelでやるなら1~3名くらいで「閲覧中心」で使うものだけにしておいたほうがいいです。それ以上の、たとえば「5~20名規模の同時アクセス・同時書き換え可能な小規模システム」なら、Excelはあきらめて、MySQLやSQL Server Express、あるいはAccesss、などを使うほうがいいと思います。基本、ユーザー別・役職別セキュリティは捨てます。)
また、「情報共有」「同時アクセス」「マイニング」などの必要が無い「ただ計算するだけ、メールなどを発信するだけ」の「作業者が一人だけで使うシステム」の場合なら、SQL、ADO、DAO、COMオートメーションがなくても、なんとかはなります。が、ただそれでも、SQLも、ADO、DAO、COMオートメーションが扱えるようにしておいたほうが数倍、効率が上がると思います。
もし「SQL、ADO、DAO、COMオートメーション」が使える場面があれば、使わない場合よりも、稼働後の機能追加・運用すべてにおいて、「金額コスト・時間コスト」が、「少なくとも」「2~5倍は圧縮」できます。

また、上記の図は「わからないところが1つでもあったら致命的」です。
なので、「先生に質問するためのツール」としても使って、「上記の図のわからないところ」や、「どこでつかうといいか」などを是非先生に聞きまくってください。
そうすれば、かなり、VBAを理解できるようになれると思います。

あと、お金を払って習うときの、「いい先生かダメな先生かの30秒以内での見分け方」ですが・・・、
「このマインドマップ的な図をもっとわかりやすく教えてくれますか?」ということと、
「特に ”ヘルプとオブジェクトブラウザ” の読み方・使い方と活用方法と活用意義とエラー時の使いかたとか、初心者でも1年以内にある程度は分かるように教えてくれますか?」ということ、
「あと、Excel仕事の解決策も。」ということの、
・・・3点だけは、「必ず」聞いてください。
(この3つを紙に書いて見せてもいいです。)
そう聞いたときに、「まかせて!こんな書き方じゃあ全然だめだよね?僕が(私が)もっとわかりやすく教えてあげる。初心者のひとでも半年でちゃんとわかるようにね!解決策もいっしょにね!でも安くはないよ?うふふ(^^)」と言ってくれる先生ならOKかと思います。
そういう先生なら、長い目で見た時は、結果として安上がりになる確率が低くありません。
逆に、そうじゃなければ絶対に習わないほうが良いです。お金をドブに捨てるだけです。
火を見るよりもあきらかです。

(「長い目で見た時に結果として安上がりになる」理由は、しっかり教わって「中級」になれれば、必ず・最低限・小遣い稼ぎででも(お給料アップとか)、受講料を回収できるからです。中級とは、ヘルプ、オブジェクトブラウザ、SQL、ADO、DAO、COMオートメーション、QueryTableオブジェクト、ピボットVBA、グラフVBA、をExcelで「なんとか困らないレベル」で扱える人のことです。できればWorkGroupのLANなども。)

ちなみにですが、ヘルプ、オブジェクトブラウザ、SQL、ADO、DAO、COMオートメーション、QueryTableオブジェクト、ピボットVBA、までを一つでも「しっかりレベル」で使えない先生は、「システムの設計ができないひと」「Excelでどこまでやっていいかの判断ができない人」なので、解決策を教えてもらえるかどうかは微妙です。もちろん、こちら、で書いた本のようなことはVBAすら要らないので、そういう「問題解決」の場合はこの限りではないですが・・・。

VBAは中級以上に上がれないと「意味が無い・時間とお金を無駄に浪費するだけ」「こづかい稼ぎも出来ない(=もしお金を払って習ったとしたらその回収すらできない)」ので、「初級で終わるつもりなら最初から絶対にやるな!時間とお金をドブに捨てるだけ!火を見るよりも明らか!」というモノですが、上記のマインドマップ的な図は、それを回避するための「最低条件」「目次のようなもの」です。
なので、この「ある意味目次」と、「それを実際にプログラミングの中で扱えること」、の両方が必要です。

基本、レジェンドさん達のWebサイトや書籍は、どんな人のものでも「全部中途半端になりがちです。」
レジェンドさん達のWebサイトや書籍は、「初心者に」といいつつも、実際には、現実には、「すでにわかるひと」たちのものです。

「はじめてやるひと」たちのものではないことが少なくありません。

上記のマインドマップ的な図のような、「最低限どこまでやらないとだめか」、ということを提示しないから。

騙されないように気を付けてください。

無責任なレジェンドさん・講師さんはうじゃうじゃいます。
想像しますに、「わかるひと」に「だけ」教えてれば儲かるし、脱落した人など見捨てておいても儲かるので、初心者に教える必要が無いからです。
「初心者は初心者本を買わせるための ”いいカモ”」かもしれません。
その証拠に、Excelが出て20年も経ってるのに、「いまだに」、初心者のための本の内容はほとんどかわっていませんし、「どこまでやらないと意味も価値もないよ」という「最低限の目次」すら提示していません。
ヘルプやオブジェクトブラウザを読む・活用するための初心者本なんて1冊もありません。

「Excelが出て20年も経ってるのに」ですよ?

20年も経ってるのに。考えられます?

それこそが、「初心者であってもヘルプやオブジェクトブラウザを読める・活用できるようにしてあげられる」ことこそが、先生・講師の「腕」なのに。
「ヘルプが読めるようになるには、これやこれ、あれも、理解する必要があります。でもそれらを覚えると、プログラミングの技術がすごく上がります」という明確な目次すら作っていません。

エラー解決のみに特化した、エラー解決だけで500~1000ページは使ったExcel本も出てないかもしれません。
これも「Excelが出て20年も経ってるのに」ですよ?
「挫折するのはエラーが自力で解決できないから」が「大きな原因の一つ」に「決まってる」のにですよ?

20年も経ってるのに。考えられます?

「最初から教える気ないだろ?」と思います。

ちなみにですが、上記のマインドマップ的な図は、そのヘルプやオブジェクトブラウザが読めるようにするための目次、ともとらえていただけたらと思います。そのような役割も果たせると思います。
是非、xlsxファイルのZipをダウンロードして、ご自分流に作り変えてください。

あ、ついでに、良い先生を見分けるもう一つの方法をお教えします。

「ヘルプってわかりにくいよね。俺使ったこともない。」と発言する先生です。

こいつだけは「超ダメ」な先生なので、死んでも習ってはいけません。
あれを「わかりにくい」っていう人はVBAの本質を何も理解していません。
ヘルプは、慣れると、下手なWeb記事よりもよっぽどわかりやすく・かつ・親切なことも少なくありません。(いつもってわけじゃないけど、でも、やっぱり理解を深めるには便利で必須です。)
先の3つの質問をするよりも、もっと、その先生(?そんな人間を先生と呼べるか心底疑問ですが)の頭の中のことがよくわかると思います。

「Excelのヘルプってどう思いますか?」と聞くだけで一発・OKです。

「初心者の人がヘルプを読めるようにしてあげることこそ・エラーを少しでも自力解決してあげられるようにすることこそが、僕たちの仕事」と言ってくれる先生ならOKだと思います。

でも、そう思うと、今のこのExcelVBAをとりまく「中級者はともかく初心者に対する」情けない現状は、ある意味、「カモられたくなかったら、這い上がってこい」というレジェンドさんや講師たちの愛のムチ・激励と取れなくもありません。
(現実は、レジェンドさんや講師たち「教える側」が「怠慢だけ」ではあると思いますが)

「コスト」を考えなければならないのなら、騙されないように気を付けてください。

「サルでもわかる」とか、「10日でわかる」とか、「1日で即戦力」とか、「ほったらかしでも寝てても終わります」とか、「これさえ覚えればマスター確実」とかの謳い文句に騙されないようにご注意ください。

全部だましですから。

まず、そうはなりません。

しかし、特にExcelVBAって、「深く勉強しなくても・絆創膏貼るだけみたいなプログラムコードでもある程度の問題解決ができちゃうからスゴイ!!」ので、(本質を理解してないくせに)絆創膏貼るだけのコードしか書けないくせに、自分を超過大評価(誤解)しやすいから困りますよね。
そういう人がたいてい「俺ヘルプなんて読んだことないから」とか、「オブジェクトブラウザなんて一回も使ったことないから」とか言っています。
「10日でわかった」気になったり、「1日で即戦力になった」気になっています。
逆に わかりやすい・見つけやすいですよね。

「冗談で言う人はもとから真剣じゃない」ということも言えます。

何度も、言いますが、「趣味」で「楽しむ」、時間はくさるほどある、コストなんて考えなくていい、ということなら、この限りではありません。
たくさん、VBAを楽しんで、好きになってほしいと思います。