★独学者が1年後にExcelVBAを爆発的に伸ばすための最低限の基礎知識メモ(ダイジェスト):Vol0013:ExcelVBAの参考サイト
  
バックナンバー目次ページは→こちらです。

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

Vol.0013

タイトル:ExcelVBAの参考サイト
  
  

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

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  
  

プログラムを作るとき、「そのプログラムのタイプ・種類」として、いろんな分け方があると思います。

たとえばデータベース的な観点から見ると・・・

(a)リレーショナルデータベース的なモノ
(b)カードデータベース的なモノ
(c)リスト形式の表(ルールにのっとった表・自動集計しやすい表)を扱うことを中心としたモノ
(d)クロス集計表(ルール無しのメチャクチャな表)を扱うことを中心としたモノ

などなど。
  

ExcelやAccessなどで行う「一般的な事務のお仕事」を軸に置いた場合なら・・・
(h)ビジネス定型集計の自動集計的なモノ
(i)シュミレーション的なモノ
(j)ガントチャート的なモノ
(k)グラフ生成(見える化)の自動化的なモノ
(l)RFM分析用の集計的なモノ

などなど。
  

「業務アプリ」的、「分野」的、な観点から見ると・・・
(m)販売
(n)顧客管理
(o)経理
(p)給与
(q)在庫管理
(r)ビジネス集計
(s)統計

などなど。
  

プログラムの個人的な目的を軸に見ると・・・・
(t)自分のためだけに使う小さなプログラム(自分が早く帰りたいだけのもの)
(u)他人にも使わせる、中~大きなプログラム(部署や社内のデータ管理を効率化するもの)
(v)(t)の補足で、「他人に知られると他のモノを作らされてめんどくさい」ので「秘密にしておきたい」プログラム。

などなど。
  

ほんとうに、色んな分け方があると思います。

ただ、「ExcelのVBAでなにか作りたい」、というときha
、これらの「いろんな分類」を「混合」して考えることもできます。

また、実際、「大分類」的に考えるとき、Excelの場合、そうなると思います。

たとえばExcelVBAの場合、そのプログラムのタイプ(作成の目的)は、多くの場合、現実に、次のようになると思います。
  

(01)個人レベルの「 ”クロス集計表やルールが無いレイアウトの表” に対してだけ使う・かつ・他人には使わせない・かつ・自分が早く帰りたいだけの目的に使う」もの

(02)グラフなどの見える化機能の自動化や細かいシュミレーションプログラム
自分も他の人も使うもの。

(03)他の人も使う、システムめいたもの
ガントチャートやリレーショナルデータベースなどを含め。

(04)他の人も使う、データベースシステムとしての、データベースエンジン部分
※データの大量蓄積部分、ルールのある表の扱い、表の紐つけ、複雑な条件でのデータ抽出や基本集計等々。

(05)データベースシステムのなかでの、インターフェイス部分や帳票印刷部分
他の人も使うもの。
  

このなかで、(03)や(04)などは、Excelよりも、Accessや他のRDBソフト(リレーショナルデータベースソフト)で作ることが多いと思います。

が、「あえてこれを(規模を小さくしてサブシステム的に)Excelでやりたい!」という場合も出てきます。

なので、こういう分類が、成り立つと思います。

  

というわけで、今回は、上記の(01)~(05)の区分けを念頭に(つまり、ExcelVBAの現実的かつ一般的なプログラム作成を念頭に)、どういうサイトを見たらいいのか、を、ご紹介したいと思います。

特に、(03)と(04)のことは、
「多くの経営者や上司と呼ばれる人たちは、本当はExcelVBAでこれをやりたい」
と思っていた(過去に)と思うのですが、
実際に語られることはほとんどないので、
その(03)と(04)の視点を「必須」という位置づけにして、
少しだけ、ご紹介したいと思います。

  
  
  

★ (16) ExcelVBAの参考サイト
  

(A)「他人に使ってもらうモノ」「少し大き目なもの」「システムめいたもの」を作る場合
  近い将来にそれを想定している場合。
  

以下のようなサイトの見方がいいと思います。
  

↓まずはココが必須です。

「Excelの神髄」
https://excel-ubara.com/index.html

  

Excelが、いかに、「データベース構築」に「向かない」、面倒くさいソフトかが良く分かります。
でも、いかにかゆいところに手が届くソフトであるかもわかります。
ひとつの目的に対して、複数のやり方がたくさん書いてあります。

  
  

この(A)のケースに限っては、このサイトのほうが、「OfficeTANAKA」さんや「moug」さん以上に、はるかに、「Excelでシステムめいたものを作るときは参考になります」。

特に、RDBが分かる方は、「OfficeTANAKA」さんや「moug」さんよりも、
「絶対にこちらから読んだ方が失敗が少ない」と思います。
  

逆に、「もし読んでも意味不明」だったら、読んで意味が分かれるようになるまで、分かる人に何百回でも質問する覚悟が必要です。

ここを読まなくてもある程度のモノは確かに作れますが、それはあくまでも「ある程度のモノ」「止まり」で、システム構築のための「総合的な判断力」が「付きません」ので、結局、読むことになると思います。
(ただ、ここはリレーショナルデータベースとしてのシステム設計のことまでは書いてありません。でも一応「SQLの基礎的なこと」が書いてあります。Excelからデータベースに接続するかたちで説明されているため、RDBがわかる方は、まず、VBAのTipsよりも先に、こちらを読むといいと思います。
ただ、「すでにSQLを知ってる前提」で書かれているため、初めての人にとっては「すべてにおいて説明が短すぎて」、ここの文書が何を言っているのかはすぐには理解できないと思います。
SQLの何がどう便利なのか?も「もう知ってるでしょ?」的な感じで書いてありません。
また、インターフェイスをどう作るか、についても書いてありません。
なので設計に関しては、Accessのサイトなどを並行して見るほうがいいのかもしれません。とはいうモノの、こちらも初めての方には難儀かも・・・。でもこのAccessのサイトのバージョン97や2000からの項(昔のやつ)を読むと、画面は今のバージョンと違いますが理屈的には比較的分かりやすいと思います。頑張ってみてください。)
  

それに対して、「OfficeTANAKA」さんや「moug」さんはすごいサイトなのは間違いありませんが、
でも「単発Tipsばっかり」なので、
「システムの骨格や設計のことをどういたらいいかがわかりません」。
  

一部の質の低い市販書籍著者の中には、ここの「OfficeTANAKA」さんのサイトのことを誤認識している人が増えてきた気がします。(とくに「OfficeTANAKA」さんの書き方は少し俺様的の「言い切り型」なので、それを安易にマネ?するバカ著者が増えやすい気がします。)
  

もちろん、「Excelの神髄」さんも、初心者の方が読んだ場合、
「読んだだけですごくよくわかる」「易しい」わけでは全くないですが、
でもやっぱり、「OfficeTANAKA」さんや「moug」さんよりも、

 ・「どこでハマりそうか」や、
 ・「いちいち配列を使わないと高速化できないところ」や、
 ・「ユーザーフォームの非効率さ」、

などが分かりやすい気がします。
  

よって、ここでの(A)のケースに限っては、
「OfficeTANAKA」さんや「moug」さんに頼りすぎると(メインに据えると)
間違いなく「ハマり」ます。
充分な注意が必要だと思います。
  

(A)のケースに限ってだけは、それらのサイトは、やたらと信じないように注意が必要です。

  

そのほかには、この(A)のケースの場合は、以下のようなサイトが便利だと思います。

「EXCEL-DB - a羅針盤」
http://acompass.net/top0/?EXCEL/DB

「インストラクターのネタ帳」
https://www.relief.jp/

「雨のち晴れ」
http://pvttbl.blog23.fc2.com/

「ExcelWorkInfo」
https://excelwork.info/excel/

「VBAのIE制御入門」
https://www.vba-ie.net/

  
その他、SQLのサイトや Accessのサイト。

●Access関連
魔法使いの開発工房
T'sWare for Access
hatena chips
※上記のサイトはバージョン2000の頃からの貴重なサイトです。その頃のこのほかの質の良いサイトはみんな無くなってしまいました。
Moug Access VBA テクニック

  
  
  

(B)自分だけが使うプログラムを作る場合

なんでもいいです。

「変数なんか全部Variant型でいい」という愚かな記述さえ信じなければ、
そう書いてある質の低い書籍やサイトですら役に立ちます。
(他の部分は役に立つことも多いです)

ただ、「質が低い情報かどうかをある程度判断する」には、本メルマガで何度も同じことを言っていますが、
「オブジェクト、階層構造一覧、オブジェクト変数、のことが理解できていること」
「コレクションの位置と働きがある程度明確になっていること」
「省略しないオブジェクト式が書けること(特にItem)」
「オブジェクトを返す色んなタイプの自作関数が作れる事」
「ヘルプとオブジェクトブラウザが読めること、扱えること」
が必須です。
  

前項の(A)に挙げたサイトプラス、以下のようなサイトでもOKです。

といいますか、
「自分だけが使う・ルールのないメチャクチャなレイアウトの表を扱う場合」は、
むしろこちを先に見たほうがいいかもしれません。
  

「OfficeTANAKA」
http://officetanaka.net/index.stm
「システムを作る」ということでなければ、とても良いサイトだと思います。

逆に、「システムを作りたい」という方は、直接、セミナーを受けないと(このサイトの内容だけでは)、「確実に」「ハマる」と思います。
  
  

「moug」
https://www.moug.net/
掲示板でのQ&Aが充実していると思います。
こちらも、
「システムを作る」ということでなければ、とても良いサイトだと思います。
「システムを作りたい」という方は、直接、ここ主催のセミナーがあればそれを受けて、ちゃんと講師に質問しないと(このサイトの内容だけでは)、「確実に」「ハマる」と思います。

※追記(2020/07/18 22時半)
すみません。今久しぶりにMougさんをチェックして見てみましたら、知らない「SQLがらみ」など、間に少し良い部分が増えてきていました。
https://vbae.odyssey-com.co.jp/column5/s51102.html
やっと、Accessネタのマンガも出てきたようです。
しかし、正直、Excel2000やAccess2000が発売されてから一体何年経ってるのかお分かりなのかしらんと思いました。ようやく始まった・・・、でも正直、遅すぎる・・・という感じです。
(それでもまあ、始まっただけでも、日本にとっては良い事なのかも・・・でも「昔は」Mougさんに対しては期待が大きかっただけに、今頃?いまさら?今まで何してたん?と本当に悔やまれます。)
もっと早くやってれば、今頃もっと、多くのビジネスマンに、「多くの今よりももっと良い・違うこと」を教えることができたでしょうに・・・と思います。
  
  

「エクセル マクロ 達人養成塾」
https://www.exvba.com/
内容はまったく異なりますが、OfficeTANAKAさんと似た空気感の「俺様系」な雰囲気のサイトです。
でもいろんなことを学べそうではあります。
ぶっちゃけ、「僕にはまったく向かない」ですけど・・・。
そもそも僕自身、仕事早くやろうって気が無いので・・・。僕はココ、読むだけで結構疲れます。
「バリバリ仕事をこなしたい人向け」「スピード命!タイムイズマネー!な人向け」だと思います。
そういう人には、きっとうまく理解できると思います。
セミナーを受けるときっといいと思います。
音楽家や武道家、お医者さんなどにも関係のある、「アレクサンダー・テクニーク」も教えてくれるらしいです。
ExcelVBAを一部とした「最強ビジネスマンのための問題解決養成所」という趣のところです。

  
  

その他、「知恵袋」「教えてGoo」などのQ&Aサイトもとても役に立ちます。

  
  

(03)僕がすごく参考になったサイト

「インストラクターのネタ帳」
https://www.relief.jp/

大して読んではいませんが、「オブジェクトブラウザ」について、日本で最もたくさん触れているサイトだと思います。

ここでは「ODAで単にお金をばらまくだけ」ではなく、「現地の人が自立できる」教え方がなされています。

これは、「Excelの神髄」さんよりも、そういう傾向が強いです。

  

なので、初心者の方は、「Excelの神髄」さん、「OfficeTanaka」さん、「Moug」さん、よりも先に、

「絶対に読むべきサイト」、「習うべき先生」、

だと思っています。
  

日本で(唯一)、まともな初心者本を書ける先生、だと思っています。
  

この先生が、「標準」と考えると良いと思います。

レジェンドさんたちの初心者本の数十倍は、いいと思います。
(あくまでも「初心者本」の範疇に限りますが)
  

僕は、この先生の書いた本と、以下のページを読んでみたら、かなり自習・独学が進みました。

「プロパティは2種類ある」
https://www.relief.jp/docs/excel-vba-2-type-properties.html

「オブジェクトブラウザーに表示されるアイコンの意味」など。
https://www.relief.jp/docs/vbe-definition-icon-object-browser.html
(※これはヘルプのほうが詳しいですが。)
  

当時は以下のページが理解できませんでしたが、
https://www.relief.jp/docs/excel-vba-that-is-not-object-name.html
今は「あたりまえの状態」になることができました。

すべて、このサイトと、この先生のおかげです。
(会ったことすらありませんが。当然、セミナーなんて、受けたこともありません。)

  

「ホンモノの先生」とは、このサイトのような先生のことをさす・・・と思っています。

  

「オブジェクト関連専門」の講義もされているそうですが、「お金を払う価値のある内容」、とはそのことだと思います。

  

僕はこの講義を受けたことも無いし、自分で勝手に解釈を進めているだけですが、でも、それでも「それまでの少なくとも10倍」は色んなことが「いろんな意味で」「思いつける」ようになりました。

Accessにも役立ってます。

どれだけ少なく見積もっても、「それまで10倍のスピードで進めるようになれた」と思います。
自分でそれが「自覚」できるのです。
(もちろんそれまでが亀でしたから、10倍と言っても普通の人の速度に比べたら、大した速さにはなりませんが)
  

Accessやってた時にはわからなかったこともわかるようになりました。

  

本メルマガの内容は、そのときに、「それをきっかけに」、「自分の中で思いついたこと」ばかりです。

  

このメルマガでお送りしている内容は、全部、このサイトの「プロパティは2種類ある」が「発端となって思いついたこと」、です。

  

なので、このサイトも、よく読むといいと思います。
  

逆に言えば、このサイトの内容で、わからないことが在ったら、これも「何百回でも誰かに聞く」ことが必要です。

サイトのタイトルどおり、「インストラクターのネタ」であると同時に、
自分たち初心者・独学者にとっては、「質問のネタの宝庫」でもあると思います。

  
  

(04)「OfficeTANAKA」さんのページで、「もしかして日本で最も誤解されているのではなかろうか?」というページ、「型は覚えなくていい」というWebページについて。
  

多分ですけど、バカな4流以下の市販書籍の著者やWebページの筆者は、OfficeTANAKAさんの
「型は覚えなくていい」というページ
http://officetanaka.net/excel/vba/variable/03.htm)を
誤解しているのではないか?と思っています。
  

彼らは(講師としては)バカなので、
当該ページの重要部分の「バリアント型変数のデメリット」をより強調せずに、但し書きもせずに、
他のデメリットも紹介せずに、
「型は覚えなくていい」という部分の方を強調します。
  

もちろんTANAKA先生のことではありません。
この項では、TANAKA先生のことを批判しているのではありません。
  

当該ページをよく読まず、
安直なサル真似しかしない、
しかも、このページの重要部分の「バリアント型変数のデメリット」をより強調せずに、
但し書きもせずに、
「型は覚えなくていい」という部分を強調している方がた、
のことを言っているのです。
  

そういう質の低い講師に習ってしまった方は、悲劇以外の何物でもありません。
  

Web上には数多くのExcelVBAのWebページがありますけど、
このページやこのページに似た内容のページは、
基本、「信用しない」ほうが
「上達の早道」です。

  

ただ、このページなどを叩き台にして、
「バリアント型変数の何がいけないのか?」を追求することや
「バリアント型変数のすばらしさ」を追求することは、
とても意味の深いことで、むしろ、絶対にやるべきだと思いますです。
  

逆に、安易に、

「型は覚えなくていい」というところだけを強調し、

「サル真似する」のは、

「バカ丸出し」、

ということになります。

僕ら、ExcelVBAの初心者から見ても、滑稽です。
苦笑しか出ません。

そもそも、変数の型ほどの知識量のことを覚えられない人・型のリレーができない人が、どうやってプログラムを動かせる、っていうんでしょう?
それは別にプログラマになるわけではなく、営業や事務のお仕事との兼任プログラマにとってや、ビジネスパーソンにとっても、言えることです。
「バカも休み休み言っていただきたい」とは、このようなことだと思います。

「型は覚えなくていい」というところだけを強調するひとほど、
「ね?VBA、簡単でしょ?」
などと言い出します。

簡単な部分ももちろんありますけど、「簡単な部分の知識だけ」では
「絶対に・自分だけで組み立て」することはできません。

VBAはもちろん、プログラミングは、「現実は」、「カンタンじゃない」のです。

いいかげん、初心者を「カンタン・簡単」と「騙す」行為はおやめいただきたいと思います。
自分も習う立場から、ほんとうに、こころから、心から、そう思います。

難しいからこそ、もっと基礎からしっかり教えないとダメ、と認識していただきたいです。
それをしっかり教えてくださったのが、
インストラクターのネタ帳の「プロパティは2種類ある」ということです。

もちろん、僕ごときも初心者なので「変数の型すら」完全ではありませんし、僕もバカでカスですが、講師や書籍の著者が「ソレ」なのはどうなのか?というお話だと思います。
  

充分にお気をつけください。

  
  
  

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

今回は以上です。

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

バックナンバー目次とサンプル号
  
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
----------------------------------------------------------------------