★★★★★★★★★★★★★★★★Access2000VBA・Excel2000VBA独学~★超重要!!ExcelVBA・初心者向けおススメ書籍~
★★★★★★★★★★★★★★★★Access2000VBA・Excel2000VBA独学~★超重要!!ExcelVBA・初心者向けおススメ書籍~
※まだ書きかけです。すみません。
※間違ってたらすみません。
※メモ書きなので、自分でも意味不明な箇所も多いです。ごめんなさい。
※関連記事
『 ★★★★★★★★★★★★★★★★Access2000VBA・Excel2000VBA独学~★超重要!!Excel一般、SQL、VBA・初心者向けの「機能別の」おススメ書籍~ 』
目次
★ 最初に買う本(学習順。でも最初の4冊一度に買って交互に読むといいです。)
★ 次に買う本(学習順。でも、これも、3冊一度に買って交互に読むといいです。)
★ VBAレジェンドやそのチルドレンたちの「カモってるの?と誤解すらさせるクソ・クズな教え方」から脱却するための最初の本
★ ある意味「メチャクチャなクロス集計表」を、1行1レコードの集計しやすい表に整形することに役立つ本
★ 「Microsoft Query」の使い方とSQLの一部利用を学ぶ際には、矢印のZipファイルをダウンロードして
読んでみてください。
★ 番外01(少し難しいかもですけど、でも絶対に買うべき本です。)
★ 番外02:当サイトで作った表や図
※Shift+TABキー、もしくは、Homeキー、Homeキー+TAB数回、を押すと、目次付近に戻れます。
基本、ここに挙げてある数冊の本「以外」の「他の初心者本」は、プログラミング目線や「複雑な条件での集計・リストアップ目線」だと「かえってバカになる」ものも少なくないので、わからないところがあっても気にしなくてもいいし、捨てても売ってもいいです。
が、以下の数冊だけは、正直「うーん?・・・」「あれっ?」な部分もあるにはありますけど、でも少ないですし、むしろ『 他の初心者本よりは、圧倒的に「本質が多い」です 』ので、「わからないところが1語でもあったらダメ!」です。
わかるまで、何百回でも先生や同僚・先輩・後輩に聞いて、わかるようにしてください。
なので、買ったら捨てないようにしたほうがいいです。
なお、中には中古の本もありますが、中古の本は「サンプルがダウンロードできない」ものもありますので、ご了承・ご注意ください。でもここに挙げた本はすべて、「サンプルが無かったとしても買う価値が高い」、そういう本ばかりです。
★ 最初に買う本(学習順。でも最初の3冊一度に買って交互に読むといいです。)
※以下の5冊は、わからないところが一語一句でもあったら「マジで」ダメなので、わからないところは先輩や後輩、同僚、先生などに「何百回でも」聞いて、わかるようにしてください。そうすれば結構しっかりした基礎が身に付くと思います。習いに行くのと同等か下手するとそれ以上の基礎が身に付くと思います。なお、4冊目は、プロパティとメソッドの概要の理解が、他の本と比べて理解しやすいと思います。5冊目の本は、デバッグの基礎なので必須です。これがわからないと、自力でのエラー解決ができません。(ただし、5冊目はデバッグで一番重要な、「ウォッチウィンドウ」の解説が少ないです。なので、5冊目を読んだ以降は、お師匠さんを探して、習う、Q&Aサイトで聞きまくる、などが必要です。)
上記の5冊の前に、以下の2冊のマンガ本を買ってもいいかもしれません。(立ち読みとか図書館とか)
「マンガで学ぶエクセル VBA・マクロ」と
「マンガで学ぶエクセル VBA・マクロ実用編」の2冊です。
この本は、「VBAって、こんな感じ」、というVBA概要の紹介の本です。
意外と面白いことが書いてあります。ポイントがコンパクトにまとまっています。
「事務の現場で初心者が必ずやる、”あるあるミス”」もマンガでイメージしやすくなっています。
マンガだからといってあなどってはいけません。
実際、このレベルのことすら理解できない人が山ほどいます。
ただ、この本は、
「超初心者にとっての」「無駄な学習項目」が、他の本の追随を許さないほど、
「超」、「超」、「削ぎ落して」、「あります」。
なので、この2冊のマンガ本こそ、一語一句でも、マジで、わからないところがあったらいけない本です。
逆に言うと、この2冊のマンガ本は、
「VBAに向いてない人をふるいにかける本」、
「VBAを即刻あきらめたほうがいい人を短時間にあぶりだす本」、
である・・・、とも言えます。
自分に合う・合わないは、この2冊の本に関しては「ありません」。
このマンガ本には、「日本語が読めるか・読めないか」、しか無いんで。
この本も、わからないところがあったら、何百回でも、例えば後輩にでも、素直に聞き直して、
完全に自分のものにしないといけいけません。
ぶっちゃけ、「VBAレジェンドたちやそのサル真似著者の腐った初心者本」の数十倍はいいです。
利用シーンがイメージできるからです。
はじめての方は、このマンガたちを読んでサンプルを動かしてみて、「なるほど」、とか、「わかる」「面白そう」、と思えなかったら、本当に無礼で申し訳ないのですが、「ムダになることが100%確実ですから、それならば、もう最初からVBAは ” やめたほうがいい ” 」です。
ランサーズやクラウドワークスで外注したほうがよっぽどコスパがいいです。
これは嫌味ではなくて、本当にそうだからです。
特に「時は金なり」「コスパ重視」を強く意識している方にとっては、「自分でやったらビジネスの邪魔にしかならない」のが「プログラミングだ」、「最初から自分ではやらず、学生や個人事業主など比較的安くやってくれる他人に任せちまったほうがいい」・・・という「正直なところ」も、「真実の一つ」であることを是非意識しておいてください。
「エラーなんていちいち自分で見ていられない」「そんなことまで自分でやり始めたらドロ沼!」、というのも「真実の一つ」です。(得意な部下がいると便利なんですが・・・。部下が雇えない場合は自分でやるしかないのですが・・・。)
ちなみにですが、関数(ワークシート関数)のほうは、VBAをやる前に読んでもらっても並行してもらってもいいです。
まったくワークシート関数を知らない、ということでなければ。
SUMやSUMIFS、IF、COUNTIFS、TEXT、あたりが分かっていて「関数・ワークシート関数の便利さ」を理解できていれば問題ありません。
逆に、「関数の便利さ」を理解できていなければ、「Excelの」VBAは苦労するかもしれません。
「Access」のVBAはワークシート関数知らなくてもわかる・楽しいんですけど。
↓関数のマンガ
さらにちなみにですがVBAの最初のほうのマンガの本は、僕の甥っ子ですらも・・・、
「話が飛ぶとすぐにわからなくなる(でもゲームはできる)若干知的な障害があるかもしれずに医師に診察を受けている」、そういう甥っ子ですらも、楽しみながら疑問も出しながらやれています。
ですので、例えばこのマンガが「全部」わからない、サンプルを動かしたときの画面の動きがつまらない、というのは「パソコン的には」という限定付きですが、相当ヤバいのです。(半分くらいわかればまだマシです。)
「自分のやりたいことならその気になれる」という甘い話は期待できない奇跡みたいなものですし。
このマンガを読んで面白そうと思えるならエラーもそう思えるかもしれませんが、「自分のやりたいことならその気になれる」という人は「ただ答えがほしいだけ」だとエラー解決できません。
この本たちが「全部」分からなかったり、「これができるならアレができないかな?(わかんないけど)」とイメージが膨らまなかったり、「画面が色々と自動的に動いていくことに」ついて「楽しい感じ」が微塵もなかったら、ダメかもしれません。
その場合は、相当、「パソコンについては、” 思考する ” ということ自体ができない人」か、あるいは、相当、「やりたくない」と「体が拒絶している人」かのどちらかだと思います。
大変残念ですが、早々にあきらめましょう。
あきらめたからといって恥ずかしくはありません。
かえってビジネス的には正しい判断です。
逆に、「そう感じることができた、なら、画面が色々と自動的に動くことに面白さを感じるなら、可能性はありますので、多少でも空き時間が取れるなら、是非(仕事としてじゃなくてホビーとしてでもいいので)チャレンジしてみてください。
きっと「楽しくなる」、と思います。
お小遣い稼ぎやわずかですが給料アップにもつながります。
(一般的に「給料アップ」よりも「お小遣い稼ぎ」の方が早く結果が出るし・高額・高コスパ・です。「給料アップ」は経営者や上司がバカ・クズだとなかなか認めてもらえませんから。)
一番伸びる可能性があるのは、「やってみたけどできなくて悔しい。腹立つ!!ムカつく!!」という人で、「計算が速いだけの低知能の機械ごときにナメられてたまるか!!」と思える人です。
あるいは、やっぱり「楽しい!」っておもえるひと、です。
★ 次に買う本(学習順。でも、これも、4冊一度に買って交互に読むといいです。)
※以下の4冊のうち、「
SQL」の本は「データ管理」を効率化させるための本です。「
SQL」とは、Excelに依存しない「特定の計算ソフトに依存しない言わば ” データ管理の世界標準の基礎 ” 」です、そして、ループ(繰り返し)のプログラムを一切書かなくても複雑なデータ集計やリストアップができます。もちろんExcelVBAとの併用もできます。なのでそれが最初からベースにあればVBAも普通の書籍やパソコン教室のやり方よりも「かなり」効率化できます。プログラムの複雑化・高速化にも少なからず貢献します。プログラム作成のコスパアップにも必ず貢献します。逆にこれを知らねば、「VBAの無駄なループコード(繰り返しのコード)」や「無駄なワークシート関数」「ムダ」が「間違いなく」が増えます。
4冊目のVBAの古い本(Excel97の本)は、今売ってる「教科書」を名乗るようなくだらない初心者本の、50倍はまともで価値が高い、と思います。
なので、この4冊も、わからないところは先輩や後輩、同僚、先生などに「何百回でも」聞いて、わかるようにしてください。
↑ 上記の SQLの本(3冊)は、Excelの専門書が無いのでこれで代用です。バージョン2000からおおむね使えます。
一般的に言って、ExcelVBAなんか知っているよりも、SQLを知っている・使える人のほうがお給料が増える傾向にあると思います。転職なども、一般的には、「VBAよりはしやすいのではないか?」とは思います。
VBAなんか業界標準でもなんでもないですけど、SQLは多分ですが、事実上の業界標準と言ってもいいくらいのモノですので・・・。
お若い方は、VBAなんかよりも、先に「SQL」を学んでおいた方が、絶対にいいです。
もしVBAで小さなシステムめいたものを作らないといけないときも、どうやったら効率よくそれが作れるかの「設計」もできるようになりますし、無駄なVBAコードも もちろん減ります。
「たくさんのフォルダやファイル、シートにデータを分けてしまい、その結合にしょっちゅうプログラムを書かないといけない、いちいちVBAやパワークエリなどを使う、」なんていうバカ丸出しな「無駄」とも永遠に「オサラバ」できます。
(↑↑ Excelが出て20年も経ったのに、いまだに、これを推奨するExcelVBAの初心者本・講師・ライター・著者・編集者が多くてバカすぎて泣けてきます。日本の「データ管理」を10年は遅らせてきた人たち。20年もあんたらは何やっとったんだ?と聞きたいです。)
是非、1冊目の本を買って読んでみてください。絵が多くてわかりやすいと思います。
★ VBAレジェンドやそのチルドレンたちの「カモってるの?と誤解すらさせるクソ・クズな教え方」から脱却するための最初の本
VBAレジェンドやそのチルドレンたち・・・というか、日本のExcelVBAを教えてる書籍やサイト、動画、のほぼ100%に近いものが、「クラスモジュール」を基本にせず、「設計もクソも無いただの絆創膏プログラミング」しか教えないので、VBAユーザーは他のオブジェクト指向プログラミングの経験者から「バカ」「使えない奴ら」という認識をされています。
特に「クラスモジュール」を作れない人間はそう扱われます。
(これ書いてる僕自身がそうです。「クラスモジュール」は超簡単な基本的なものしか書けません。基本、「クラスモジュール」がバリバリに作れない人間は、どれだけVBA歴が長くてそこそこのプログラムが作れても、いつまで経っても「全員初級者」です。「上級」を自称するなど片腹痛く、中級者ですらありません。)
「クラスモジュール」も作れないくせに「VBA上級者」などと自称すると「バカか?」とか、「クズ、バカ、とんま、使えねー奴」と言われるだけです。
そして実際、多くの独学者が「書籍では初級中の初級」を脱することができないでいます。
そして、「”ほんの” 少しレベルが上がっただけの本が、まるで難しくてチンプンカンプン」となってしまいます。(おきまりのパターン。挫折まっしぐら。)
いつまで経っても「超初心者」から抜け出すことができないままです。
(最悪、お金を払って習っていても。)
現実問題として、そうなってしまっているのは、全部、VBAレジェンドやそのチルドレンたち・・・のせいなんですが、
それはある意味、
『「昭和」でウソも少なくない教え方 』のせい・・・
でもあります。
「令和以降」では、もう「基本はクラスモジュール」、「昭和なVBAレジェンドたちの教え方はクソ」、という風になっていったほうがいいです。
現実には、レジェンドや出版社に逆らえないのか、そういう方向にはなかなかなっていきませんが・・・。
本書は、その「昭和でクソなVBAレジェンドやチルドレンの教え方」から脱却して、「まともなプログラミング」を学び始めるための最初の本として、ふさわしいと思いますので、ぜひ、お読みになってみるといいと思います。
「クラスモジュール」の入門サイトと一緒に、読んでいくといいと思います。
なお、昭和でクソ・クズな教え方をする書籍やサイトの特徴は以下のような感じです。
・「プログラムは標準モジュールに書きましょう」としか教えない。
・「オブジェクト変数」を教えない+「With」を最初のほうでドヤ顔で勧める。
・「オブジェクト式」を「オブジェクト.プロパティ= ×××××× のような感じ」という
教え方をする(代入ステートメントや実行ステートメントをオブジェクト式だと
ウソを教える。VBAのエキスパート試験のテキストのような教え方。)
・ヘルプ用語の解説は一切なし。
・VBAの上達はイミディエイトウィンドウよりもウォッチウィンドウの使用頻度に
正比例するのにウォッチウィンドウの読み方や使い方をまったく教えない。
・「式」「キーワード」「ステートメント」などの基本用語の解説ゼロ。
・「オブジェクト」というものを「人間」や「生き物」などに例える。
(最終的にはそれも可能で間違いではないのですが、でもいきなり
人間や生き物に例えてしまうと、「VBAの爆発的な上達」に「必須」の、
「ウォッチウィンドウ」「オブジェクトブラウザ」「ヘルプ」を
読めなく(扱えなく)させられてしまいます。
ちなみにですが、VBAの習い始めのうちは、
「オブジェクトとは、目に見えるor見えない(3D的な)箱型の、装置、
部品、パーツ、ユニット、ロボット、メカ」という理解で、
液晶TVやATM、電子レンジ、家電、などに例えたほうが、
「ウォッチウィンドウ」「オブジェクトブラウザ」「ヘルプ」を
読めるようになります。or 読める確率が格段に上がります。)
・「ステートメント」を「For Next」や「If」などの「フロー制御」に関する命令だけ
と誤解させる。(VBAのエキスパート試験のテキストのような教え方。)
・「ステートメント」を「For Next」や「If」「DO」「Loop」「AppActivate」などの
「単語のこと」と誤解させる。(同上。「ステートメントは、式と式じゃないもので
できている」という説明をしない)
・「オブジェクトとは操作対象のこと」という説明しかしない。
どんなプログラム言語でも、実際には、オブジェクトだけでなくリテラル値や
それを代入するプリミティブな型の変数も”操作対象”なのに。
・「ユーザー定義関数(自作関数)」作り方、使い方、などに1ページも割かない。
そもそも「ユーザー定義関数(自作関数)」は本当は、
「100ページ以上は割かねばならない超重要学習事項」なのに。
特に「オブジェクトを返す」「ユーザー定義関数」について教えない。
「オブジェクトを返す」「ユーザー定義関数」について教えない本やサイトは、
「何も教えてない」に等しい。
まだまだいっぱいあります。
★ ある意味「メチャクチャなクロス集計表」を、1行1レコードの集計しやすい表に整形することに役立つ本
★ 「Microsoft Query」の使い方とSQLの一部利用を学ぶ際には、、矢印のZipファイルをダウンロードして読んでみてください。 ※ダウンロードは→こちら
中には「Microsoft Queryの使い方」というWordファイルと、サンプルxlsファイルが入っています。(約3MB:ESETでウィルスチェックしてあります。)
※Wordファイルの中身と同じPDF→『
「Microsoft Query」の使い方』
※参考記事→『
ExcelでのGUIでの簡易SQL機能「Microsoft Query」の使い方(Excel2010でもほぼ同じ操作です) ~ ビジネスデータ管理(コスト減等含む)を2~100倍効率化するツールその1】
★★★★★★Access2000VBA・Excel2000VBA独学~★★★★★★ 超重要!!!『 SQL の学習用 』 ★★★★★★~ ODBCでQueryTableオブジェクトを自動作成するサンプルコード)。多分、2000以降の全バージョンで使えると思います。~ついでに、セルの値で結果表示を自動で切り替える「パラメータクエリ」のVBAでの自動作成も。~
※このテキストたちも、わからないところは先輩や後輩、同僚、先生などに「何百回でも」聞いて、わかるようにしてください。
★ 番外01(少し難しいかもですけど、でも絶対に買うべき本です。)
※↓この2冊の本も、わからないところは先輩や後輩、同僚、先生などに「何百回でも」聞いて、わかるようにしてください。
「パーフェクトExcelVBA」
https://gihyo.jp/book/2019/978-4-297-10875-5
「入門レベルでは決して足りない実務に必須のスキルとは ExcelVBA 実戦のための技術」
★ 番外02:当サイトで作った表や図
【目次内補足】
・重要図たち(一語一句、一単語でも意味が分からないものがあったらいけない図たち)
でないと効率化なんて夢のまた夢だから。
※参考図
例えば Rangeオブジェクトの取得の場合、どういったプロパティなどが使われるか、の「イメージ」の図です。
あくまでも「イメージ」ですが、下図の「正規ルート」と「ワープルート」の違いなどを良く見てみてください。
「正規ルート」では普通の原則的なセル範囲(A1形式のセル範囲)が取得でき、
「ワープルート」では、「少し便利なかたち(性格が異なったかたち。R1C1形式や使用された部分のみ、数個ずらした、等々)でのセル範囲が取得できます。
(※「ワープルート」=下の図で言うと、オレンジの点線矢印でのRangeオブジェクトのゲット=アクセスのルートのことです。)
※各コレクションオブジェクトの「Item」という名前のプロパティやメソッドは基本、省略されることがほとんどです。
ただ、「VBAは省略しない方が上達します」。
あと、一口に、例えば「Cells」プロパティと言っても、Application.Cellsもあれば、Worksheet.CellsやRange.Cellsもあって、「それぞれに「微妙に動きが異なる」ので、「親となるオブジェクトとセットで」、「どのCells」オブジェクトなのか、を明確に指定する必要があります。それは「Cells」に限らず、他のプロパティでも同じことが言えます。
(例えば上図だと「Application.Selection」や「Window.Selection」、各種「Item」がそれにあたります。)
なので上図では、その意味で、「親となるオブジェクト」の名前もくっつけた状態で説明してあります。
「ヘルプ(特に2007以降)」や「オブジェクトブラウザ」もこの形式を守っていますので、逆に、このことを知らないと、「ヘルプ」や「オブジェクトブラウザ」が読めません。
ご注意ください。
↓ 上の幾つかの図を集めて作ったExcelVBAの基礎のマインドマップ的な相関図メモの例。『●VBAの基礎の相関一覧図.xlsx』のZIPファイル→こちら (ダウンロードして解凍後、ファイルオープンしてから ↓ この図が表示されるまでが少し時間がかかるかもです。)
↓もうひとつオブジェクトの階層のモトのxlsxファイルのZIP
https://euc-access-excel-db.com/00000WPZIP/object-model01.zipも。
↑ この図をクリックすると、PDFが開きますが、すべての横書きテキストボックスで、文章のおわりが途切れてしまっています。また、拡大すると画像が荒すぎてまともに見えません。なので「大体わかればいい」というときなどにお使いください。
「Ctrl+マウスホイール回転」、で拡大すると、文字だけはきれいに見えます。
正式には(正常表示できるものとしては)、前述の、xlsxファイルのほうが見やすいので、そちらもダウンロードして見てみてください。
テキストボックス内の文の途切れもありませんし、図中の「変数に関する表」をもう少し詳しくしたシート「●変数と生データに関する一覧表_詳細」が2枚目に付いています。
基本、この図の「一語一句でも」、わからないところがあったら、絶対に中級には上がれません。自力でのエラー解決も難しいので それまでVBAの学習にかけた時間やお金もドブに捨てる可能性が大です。私はExcel自体のド素人なので図が間違っているかもしれませんが、そうでしたら、先生や先輩に、「わかるまで何百回でも」何がどう間違っているかを聞いてください。もちろん普通にわからないところも。
==================================
※まだ書きかけです。すみません。
※間違ってたらすみません。
※メモ書きなので、自分でも意味不明な箇所も多いです。ごめんなさい。
ちなみにですが、「オブジェクトが持つ機能」にはどんなものがあるでしょうか?
ここではあまり詳しくはお話しできませんが、オブジェクトは大きくわけて、主に「5つの機能」を持っています。前述のような複数の機能を含めたうえで、大分類として、「5つの機能」を持っています。
(「持つ=保持・保有・内包している・・・」という意味です。「5つ」とは、僕が勝手に言っていることです。)
※注:これより前では、その「機能」については、「メニュー単位のかなり細かい機能」のことをさしていましたが、これ以降ではそれらも含めて大きくグルーピングしてとらえます。
ではその「5つの機能」とは何か?ということなんですが、それは、
・「階層構造(≒階層構造上下自由往来機能)」
・「プロパティ」
・「メソッド」
・「イベント」
・「ユーザー入力値」
の5つです。
(繰り返しますが、僕が勝手に言っていることです)
※「5つの機能」に関する補足
一般的には「5つの機能」なんていう話をする人(例えば講師さんとか先輩さんとか)はいません(僕が勝手に言ってるだけなので)。
オブジェクトが内包するものに関しては、「プロパティ」「メソッド」の2つの機能の話が多く、「イベント」「階層構造(≒階層構造上下自由往来機能)」や「ユーザー入力値」についてはあまり多くは解説されません。
といいますか、「プロパティ」「メソッド」の話すら、「それらはオブジェクトが内包するものである」という話すら、されていないのではないでしょうか?「内包される」「機能だ」という話すらされていないのではないでしょうか?
しかし、VBAが短期間に習得できない人・中級に上がったとたん挫折する人、初心者本を読んだだけでスグに挫折してしまった人、「自力でエラーが解決できない人」は、まず間違いないなくこの3つの機能のことを理解していません。(特に、階層構造。”単一オブジェクト” と ”コレクションオブジェクト” の違いや位置関係とかも。)
もっと言うと、この5つの機能が(VBA関数やステートメントのように)、「オブジェクトの外側にある(位置している)」「変数(オブジェクト変数)の外側にある(位置している)」と勘違いすらしています。
「5つの機能」が、「全部 オブジェクトの内側に含まれる」「内包される」ということがまったく理解できていません。
そのため、「オブジェクトのオブジェクト変数への代入」のことが全然理解できません。
(もしかしたら「オブジェクト式」の意味すら理解していないかも・・・。)
「5つの機能は、全部、オブジェクトの中に、内包される」。
「一般変数(=文字ベースの値:文字列・数値・日付・2値など)はVBA関数や演算子などを使って、ある意味外部・外側から動かす」けれど、
「オブジェクト変数(=オブジェクト式)は内包される5つの機能を、ある意味内側から引き出す形で動かす」という違いがある・・・、
(ステートメントを使うのは両方とも同じ)
・・・ということが頭の中で明確に「図として」「映像として」イメージできていないため、「オブジェクトのオブジェクト変数への代入」のことが全然理解できません。
ひいてはヘルプも理解できないし、オブジェクトブラウザの意味も理解できません。
(プログラムコードとしての「オブジェクト」とは?・・・ → → → 「オブジェクト式」、あるいは「CreateObject関数やGetObject関数などのVBA関数」、あるいは「オブジェクトを返す能力を持ったプロパティやメソッドなど」を使うことで、「オブジェクト」として返されてくる「モノ・ユニット」のこと。)
VBAのオブジェクト操作で、もっとも重要なことの一つは、「オブジェクトは階層構造になっていてその全体図が存在する」ということと、「その図を使って全体を把握しながら学ぶほうが短期間に腕が上がる」+「その階層構造を省略しないオブジェクト式の書き方を学ぶ方が上達が早い」ということを理解することだと思います。そのようにお考えください。
逆に言うと、「階層構造」や「階層構造を省略しないオブジェクト式の書き方」「5つの機能はオブジェクトに内包される」ということなどが分からない人が、VBAプログラミングが理解できることは、「永遠にない」、ということになります。
実際僕も、階層構造について理解できて、ようやくヘルプやオブジェクトブラウザが使えるようになってきたんですが、その後の僕と前の僕では、(もちろんまだ全部は理解できないまでも)でも、VBAの理解や作成のスピードが10~20倍くらいアップしたと自分自身で実感できています。
今までよくわからなかったExcelVBAの市販本が、突然、おおむね全部がスラスラわかるようになり、だから逆に「なんで20年経っても未だにこんな教え方してるんだろう?絆創膏貼るだけみたいな・・・」と、感じるようになってしまいました。
僕がそのようになれた、とっても重要なヒントをくれたものすごい書籍があるので、ご紹介しておきます。
『いちばんやさしいExcelVBAの教本 人気講師が教える実務に役立つマクロの始め方』
まったくの初心者の方にはもしかしたら少し難しいかもしれませんが(特に8章以降)、真面目に中級への上達を考えているかたは必読です。自分のレベルが上がるにしたがって、「その章にその項目をその順番で書いた意味・重要性」がわかるようになると思います。
他の本とは「次元」がまったく違ってました。
他の本にはない、Variant型を多用した時のローカルウィンドウでの変数の中身の確認の重要性、などについても、さりげなく導いています。
最初に読んだ時はわからなかったけど、「オブジェクトを取得できるプロパティと2種類ある」の話を読んだら、そこからヘルプを読み直したら、今までの十数倍か20倍以上のスピードで他の応用のことが理解できるようになりました。なんだ、ヘルプに全部書いてあるじゃん、という感じです。オブジェクトブラウザの意味・価値もわかるようになってきました。残念ながら この本の「本当の意味・すごみ」がわからない人は、何の本質も学ばずに素通りしてしまうかもしれませんが、でももしそうなったとしてもいつか「読み直した」ときに、そのすごさが分かると思いますので、買って絶対に損はない価値の高い本です。
Excelの本で「買って損はない」と思った本は4、5冊くらいありますが、そのうちの1冊で、ナンバーワンの本でした。初心者本の中では、いままでのExcelVBAのどのレジェンドさんが出版した本よりも価値が高いと思います。
どのExcelVBAのレジェンドさんたちの本・ベストセラー本よりも先に買わなければならない数少ない本の1つです。初心者の上の方から中級者の方向けです。
絆創膏対応じゃない、王道に行ける可能性を高めてくれる本です。
↓中級者用の、日本の出版社が出しているもので「最も価値の高い一冊のひとつ」はこちら
『入門レベルでは決して足りない実務に必須のスキルとは ExcelVBA 実戦のための技術』
この本も、すぐには理解できなくても、VBAに対する理解が深まるにつれ、なんども読み返すたびに、重要性が増す本ですので、買って絶対に損のない価値の高い本です。
理解のし間違いをしやすい箇所についてや、クラスモジュール(オブジェクトの自作)などがわかりやすいく書いてあります。
こちらも、どのExcelVBAのレジェンドさんたちの本・ベストセラー本よりも先に買わなければならない数少ない本の1つです。
絆創膏対応じゃない、王道の本です。
この本以外は、ピボットの本と、グラフのVBA操作について詳しい本、Microsoft Queryに詳しい本、SQL、ADO、DAO、の本、COMオートメーションに詳し本、を買ったほうがいいと思います。あとピボットをVBAで動かすことを教えてくれるサイトも。
ついでに他の、参考になる「絶対に買って損はない・むしろ買うべき」、「超」初心者本(内容は狭いけど、でもためになる「超」初心者のための本)、をご紹介しておきます。
『スラスラ読める Excel VBA ふりがなプログラミング (ふりがなプログラミングシリーズ)』
一般変数(一般の文字ベースのデータ)の処理の基礎とオブジェクト変数(オブジェクト)の処理の基礎にしっかり分けて構成・書かれている隠れた良書です。一般変数での処理に関する記述が多く、オブジェクト処理はセルとシートの操作くらいですが、「超」初心者にはとても良い本です。こちらも他の初心者本には書かれていない重要なことが結構書かれています。こちらも一語一句、全部覚えると下手な「なんちゃって中級者」よりはよっぽどか しっかりした土台が理解できるようになれると思います。
また、変数をすべてVariant型でやってしまってますが、「超」初心者向けなのであえてそうしています。(明示的に型を決める方法にも読み終えた後にチャレンジしてみてくださいと書いてあります。)これもどのレジェンドさんの本よりもいいです。この本も、「超」初心者の方なら、どのExcelVBAのレジェンドさんたちの本・ベストセラー本よりも先に買わなければならない数少ない本の1つです。前の本と不足分をおぎないあっています。
この本も、絆創膏対応じゃない、王道に行ける可能性を高めてくれる本です。
『図解! Excel VBAのツボとコツがゼッタイにわかる本 “超"入門編 』
「セルとシートの操作関連の超基礎だけ」、の話がほんとんどです。あと若干のエラー対策、構築のためのポイント、など、です。一般変数の話やステートメントの話などは無いに等しいです。でも、他の初心者本には書かれていない重要なことが結構書かれています。一語一句、全部覚えると下手な「なんちゃって中級者」よりはよっぽどか しっかりした土台が理解できるようになれると思います。
また、でも、「超」初心者の方なら、どのExcelVBAのレジェンドさんたちの本・ベストセラー本よりも先に買わなければならない数少ない本の1つです。次の本と不足分をおぎないあっています。
この本も絆創膏対応じゃない、王道に行ける可能性を高めてくれる本です。
↓参考記事
↓参考2:ExcelVBAの基礎のマインドマップ的な相関図メモ(xlsxのZipダウンロード)(ダウンロードして解凍後、ファイルオープンしてから ↓ この図が表示されるまでが少し時間がかかるかもです。)
↑ この図をクリックすると、PDFが開きますが、すべての横書きテキストボックスで、文章のおわりが途切れてしまっています。また、拡大すると画像が荒すぎてまともに見えません。なので「大体わかればいい」というときなどにお使いください。
「Ctrl+マウスホイール回転」、で拡大すると、文字だけはきれいに見えます。
正式には(正常表示できるものとしては)、前述の、xlsxファイルのほうが見やすいので、そちらもダウンロードして見てみてください。
テキストボックス内の文の途切れもありませんし、図中の「変数に関する表」をもう少し詳しくしたシート「●変数と生データに関する一覧表_詳細」が2枚目に付いています。
基本、この図の「一語一句でも」、わからないところがあったら、絶対に中級には上がれません。自力でのエラー解決も難しいので それまでVBAの学習にかけた時間やお金もドブに捨てる可能性が大です。私はExcel自体のド素人なので図が間違っているかもしれませんが、そうでしたら、先生や先輩に、「わかるまで何百回でも」何がどう間違っているかを聞いてください。もちろん普通にわからないところも。
- 投稿タグ
- 「ニセモノ」への道, 「本物」に近づくために, Ac2000-Win32API, AccessVBA, Accessの独学, Access操作の基礎, Accesの独学, ADO/DAO, ExcelSQL, ExcelVBA, Excelの独学, Excel操作の基礎, Excel連携VBA, MicrosoftQuery, ODBC, SQL, パソコンでの自動化, マクロ, 独学, 自動化