★独学者が1年後にExcelVBAを爆発的に伸ばすための最低限の基礎知識メモ(ダイジェスト):Vol0011:質の悪いVBA講師を30秒で見抜く方法(もちろん生徒さんでもできます。)
  
バックナンバー目次ページは→こちらです。

まぐまぐのページは以下です。
https://www.mag2.com/m/0001691660.html
  
  
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■独学者が1年後にExcelVBAを爆発的に上達させるための最低限の基礎知識メモ(ダイジェスト)

Vol.0011

タイトル:質の悪いVBA講師を30秒で見抜く方法(もちろん生徒さんでもできます。)
  
  

バックナンバー目次とサンプル号
https://euc-access-excel-db.com/tips/ct07_se/ct075012_xls2k_vba_tips/mag2-01

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  
  
今回も「かなり」批判的な内容だと思いますので、今回もまた、どうかお許しください。

前回同様、気持ちのよいものではないと思いますので、ご気分を害されたくない方は読まないほうがいいかもしれません。

(※ 今後これが少し続くかもしれません。)

本当に申し訳ありません。

ただ、「いいかげんで無責任な講師さんや書籍著者さんや編集者さん、などがこれ以上増えると困る」ので、今回の号を書きました。

どうかお許しください。
  
  

そして今回は、異常に短いです。
  

他の項目と混ぜてしまうと、埋もれてしまうといけないので、あえて短くしました。
  
  

よろしくお願い致します。
  

では、以降、本文です。
  
  
=========================
  
  
  
★ (14) 質の悪いVBA講師を30秒で見抜く方法(もちろん生徒さんでもできます。)
  
  
  

良い先生かどうかは30秒で見抜けます。
  
  

『 私のようなド素人にでもできるだけ早くわかるように、
  ヘルプやオブジェクトブラウザとかっていうやつ?の読み方・使い方、
  便利な活用方法、教えてくれますか? 』

と聞くだけです。
  
あるいは、そう書いた紙を渡すだけです。
  
  
  

即答で、

「いいよ!今すぐやる?それこそが本質なの!よく聞いてくれましたね!うれしい!」
と言ってくれる先生ならOK。です。

本物の先生だと思います。
  

もしあなたが、ヘルプやオブジェクトブラウザの意味すら分からなくてもいいんです。

でも、そう聞いてみて下さい。
  

「お!この人やる気ある~!」と、

興奮気味に、

「まじいぃぃぃ~!!?まじでぇぇ~!?(^^)」、

「ほんとにぃぃぃ~!!? いいの~~~!?(^^)」と、

嬉しそうに返事してくれるはずです。
(あるいは必ず、そう思ってるはずです。)
  
  

まあ、現実にはいきなりここまで返答してくれる先生は居ないかもしれませんが、
でも「ちゃんとした・良い先生」は・・・、

「オブジェクトを返す色んなタイプの自作関数が自由に作れて」、
「階層構造(オブジェクトモデル)や、ヘルプやオブジェクトブラウザの読み方・使い方」を
「しっかり理解できると」、
「ある地点から」
「爆発的に」
「今までの何倍ものスピードで」
「上達する」

・・・・ということを知っているので、

「本当は教えたくてたまらない」

のです。

ヘルプとオブジェクトブラウザのことや、それに関連することのすべて・・・を。
  
  

そもそも、そんなイイ質問というか、お願いというか、そういうものを投げかけけられて、
「興奮しない」先生は、一人も居ないと思います。
  

逆に言うと、

生徒さんから、

『 私のようなド素人にでもできるだけ早くわかるように、
  ヘルプやオブジェクトブラウザの読み方・使い方、
  便利な活用方法、教えてくれますか? 』

と言われて、
興奮しない人は、

「先生として」は、

「カス」

と言ってもいいでしょう。
  

もし仮に、「自分はプログラム作るのカリスマ的」であったとしても、
「人に教えて育てる・できるだけ挫折しないように」
「できたら一人でも多く挫折しないように」
ということにおいては「カス」な先生です。
  

口ではそう言っていても、こころの中ではそんなことは微塵も考えていません。
  
  

「先生」「教えて育てる立場の人」としては、3流以下の(3流の方にすら失礼な)、
5流か、6流くらいの先生・・・・

というか、本当に先生なの?大丈夫?というレベルの人だと思います。
  
  
  

繰り返しますが、超初心者にいきなり教えても確かに理解できようはずもありませんけれども、
でも、それでも、

「うおおおお!!!いい質問だね~!うれしいよ!!!!!
  わからないかもしれないけど、これとこれとこれと、
  大体こんなことを学べばOKだよ!
  是非、一緒にやっていこうね!!!!!!」

と、色々と「自分が常に準備しているもの」を、とりあえず、書類だけでも、
バン!バン!バン!と全部出してくれる先生・・・・そんな先生じゃなきゃ、習う価値ありません。

例えば以下のような図を出してくれるとか・・・
   
  

※上図の場合、
例えば「正規ルート」では普通の原則的なセル範囲(A1形式のセル範囲)が取得でき、
「ワープルート」では、「少し便利なかたち(性格が異なったかたち。R1C1形式や使用された部分のみ、数個ずらした、等々)でのセル範囲が取得できます。
目的達成にとって一番適切・あるは便利・あるいは効率的になる、そういう「ワープルート」を使って(TPOで使い分けて)、Rangeオブジェクト(=セル範囲)を取得します。
(※「ワープルート」=上の図で言うと、オレンジの点線矢印でのRangeオブジェクトのゲット=アクセスのルートのことです。)
※各コレクションオブジェクトの「Item」という名前のプロパティやメソッドは基本、省略されることがほとんどです。
ただ、「VBAは省略しない方が上達します」。
あと、一口に、例えば「Cells」プロパティと言っても、Application.Cellsもあれば、Worksheet.CellsやRange.Cellsもあって、「それぞれに「微妙に動きが異なる」ので、「親となるオブジェクトとセットで」、「どのCells」オブジェクトなのか、を明確に指定する必要があります。それは「Cells」に限らず、他のプロパティでも同じことが言えます。
(例えば上図だと「Application.Selection」や「Window.Selection」、各種「Item」がそれにあたります。)
なので上図では、その意味で、「親となるオブジェクト」の名前もくっつけた状態で説明してあります。
「ヘルプ(特に2007以降)」や「オブジェクトブラウザ」もこの形式を守っていますので、逆に、このことを知らないと、「ヘルプ」や「オブジェクトブラウザ」が読めません。
ご注意ください。

  

あるいは以下のような、
『 今現在選択しているオブジェクトまでのオブジェクトモデルの階層を、
 イミディエイトウィンドウに表示してくれる関数 』
を作ってくれるとか。
★Access2000VBA・Excel2000VBA独学~今・選択されてる or 指定したオブジェクトの省略の無い階層構造をさっと調べる自作関数 ~イミディエイトウィンドウで使う自作関数 ★ ~Current無省略オブジェクト式記述02~
Access2000VBA・Excel2000VBA独学~イミディエイトウィンドウで使う自作関数 ★ ~Current無省略オブジェクト式記述~

  

特に、Excel2000から2003のヘルプの、
オブジェクトモデルの一覧図(階層構造一覧図:良く使うモノのみが記載されています)や、
それをベースにした、先生独自の詳細図もさっと出してくれる先生はアタリだと思います。

「習うに値する」「初心者から逃げない」「準備の整った」良い先生、だと思います。
  
  
  

逆に『難しいからおいおいね 』という先生は最悪で、「ダメな人」の可能性がかなり高いです。
「習ってはいけない、ウソを教える、危険なカス先生」の可能性が「かなり」高いです。
(もちろん、絶対じゃないですけど、でも、かなり確率高いです。本人が自分がダメ・低レベルだと自覚できていないことすらあるかもしれません。)
  
  

少なくとも
「そう聞かれたときに回答できる準備まったくしていない
ということが明白です。

先生の風上にもおけない「カス」です。
  

例えば、
(01)「Workbook単一オブジェクト」の中に含まれる、
(02)その1階層下の「WorkSheetsコレクションオブジェクト」を取得するための、
(03)「WorkSheets」という名前のプロパティは、
(04)「コレクションと同名だけれどもコレクションとは異なる」
(05)「オブジェクトでもない」
わけですが、
そのことの説明に、
「オブジェクト階層構造の一覧図」を使った方が生徒さんはイメージしやすいと思うのですが、実際、そういうツールを準備したり・実際に描いて説明に使った本やサイトを見たことがありません。

繰り返しになりますが、例えば以下のような図を出してくれるとか・・・
   
  

※ワープルートでRangeオブジェクト(=セル範囲)を取得すると、それぞれ「少し性格の異なる」Rangeオブジェクトが取得できます。目的達成にとって一番適切・あるは便利・あるいは効率的になる、そういう「ワープルート」を使って(TPOで使い分けて)、Rangeオブジェクト(=セル範囲)を取得します。
  

多くの書籍で、
「やってるうちにわかってくる」
とか
「ヘルプを読むといいでしょう(と「1行書くだけ」で何の説明もしない)
等の、あいまいな回答(というかもはや回答ではなく・単なる逃げでしかない)終始しています。

「オブジェクト階層構造の一覧図」「ありき」のほうが、
「動かしようが無い部分(=基軸)ができるので」
「省略しないオブジェクト式」も、
「オブジェクト(単一、or コレクション)」も、
「プロパティ、メソッド、イベント」も、
理解しやすいのに・・・・。
  
  

つまり、結局は、「自称」「プロ」のくせに「何の」「準備もしてない」ということなのです。
  

金返せよ!、というレベルです。

あああ!!!
ごめんなさい。
言葉が乱暴すぎました。
お金に叱られてしまいます。

「大事な僕のお金、返して頂けませんか?」、というレベルです。

また、「もしかしたら、一番重要なことをわざと教えないでおいて、わざと分からなくさせて、何度もレッスンやセミナー受けさせて、カモろうとしているのでは?」と、僕ら習っている立場としたら疑心暗鬼になりかねません。
  
  

繰り返しますが、そのような人は、
「人に教えて育てる・できるだけ挫折しないように」
「できたら一人でも多く挫折しないように」
ということにおいては「カス」な先生です。
  

大して利点も無い「With」ばっかり使うことを教えて、
オブジェクト変数を後回しにする(あるいは一切触れない)、
そういう講師も、 大変残念ながら「最悪」の部類に入ると思います。

※書籍・Webページも同様です。
  
  

※あと、僕自身は「カス」以下の「ゴミ」なのでほんと、エラそうにすみません・・・。
「カス」という言葉はダメに決まっているのです・・・、もちろん、お若い方々の模範にもならず、「絶対に使っちゃダメな言葉を選択した」、と分かってはいるのですが・・・、でも、今のままだと
・何の問題提起もされず、
・教え方も20前から全く進歩してなく、
・VBA書籍は部数が売れさえすれば「内容なんてメチャクチャでも全然オッケー」という傾向にあり、
・独学者は挫折する一方なので
あえて「カス」という表現をしてしまいました。
本当に申し訳ございません。
ただ、ここで「カス」と表現してしまいました方々が現実的に、
「3流以下の、5流、6流、であることは恐らく事実なのではないか?」と推測しています。

僕自身、「習う立場」からはそう感じてしまいます。

繰り返しますが、「いいかげんで無責任な講師さんや書籍著者さんや編集者さん、などがこれ以上増えると困る」ので、今回の号を書きました。
  

  
  
  

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

今回は以上です。

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

バックナンバー目次とサンプル号
  
https://euc-access-excel-db.com/tips/ct07_se/ct075012_xls2k_vba_tips/mag2-01
  
  

----------------------------------------------------------------------
■独学者が1年後にExcelVBAを爆発的に上達させるための最低限の基礎知識メモ(ダイジェスト)
発行システム:『まぐまぐ!』 http://www.mag2.com/
配信中止はこちら https://www.mag2.com/m/0001691660.html
----------------------------------------------------------------------