ここから本文です

VBAおススメの学習法を教えてください。 現在、エクセルのVBAを独学で学んでおり...

yam********さん

2020/6/2917:06:38

VBAおススメの学習法を教えてください。
現在、エクセルのVBAを独学で学んでおりまして、以下の書籍を読んでとても面白いなと思って、自宅のPCでも構文を組んだりしています。

また、事務関係の仕事もしていることもあり、作業効率向上のため、より深く学びたいと思っています。
そこで、以下の2点について質問させていただきます。

①おススメの書籍について
ちなみに今読んでいる本は以下です。ここで紹介されているプログラムは理解できる程度にはなりました。
https://www.amazon.co.jp/%E3%81%9F%E3%81%A3%E3%81%9F1%E7%A7%92%E3%8...

②書籍以外の学習方法でおススメのもの

しっかりと学習して会社や人のために役に立ちたいと思っています。
よろしくお願いいたします。

閲覧数:
142
回答数:
4
お礼:
100枚

違反報告

回答

1〜4件/4件中

並び替え:回答日時の
新しい順
|古い順

osa********さん

2020/7/501:27:00

自分もExcelVBAの初心者ですが・・・・

大変無礼でお許しいただきたいのですが、その本は、終わりの方に「変数なんか全部Variant型でいい」くらいの勢いのことが書いてあるので、まずはそれを「やめる・絶対にやらない」ことからでしょうか・・・。

それだけは、まじで、絶対にやらないようにご注意ください。


変数はいろんな型がありますし、プログラミングは「型のリレー」の連続なので、ある程度はちゃんと学習しないと、

>作業効率向上のため、より深く・・・・
>しっかりと学習して会社や人のために役に立ちたい・・・・

というご要望は大変残念ですが、達成できません。


必ず「”中途半端”にすらなれないレベル」で終わってしまいます。
(私自身がそうですけど・・・)


VBAの「本当のスタートライン」にすら立てません。


もし本気でそのようなご要望がおありなら、以下のことの学習が「必須」です。


★「オブジェクト変数」「オブジェクトモデル」について学ぶ事。

★「単一オブジェクト」と「コレクションオブジェクト」の、「オブジェクトモデル」の中での「位置関係」について学ぶ事。

★階層構造を省略しないオブジェクト式が書ける事(特にItemの省略をやめる。せめてオブジェクトブラウザが使えてその利用意義が分かるようになるまでは。)

★★「いろんなタイプの」オブジェクトを返す自作関数を思い通りに作れるようになること。これは部品化・効率化の基礎です。
ただ、これをちゃんと教えてくれる初心者向けの書籍は、「日本には無い」と言ってもいいくらい、無いです。中級者本にもあるかどうかわからないくらい、教えられていません。
(例えばAmazonで「Excel ユーザー定義関数」で調べてみてください。まともそうな本は1冊もヒットしません。)

★★「いろんなタイプの」一般データ(文字系のデータ)を返す自作関数を思い通りに作れるようになること。それができれば、「カスタムのワークシート関数」としてセルの数式からも使えますので・・・。これも部品化・効率化の基礎です。
(同じくAmazonで「Excel ユーザー定義関数」で調べると、まともそうな本は昔の本が1冊だけヒットします。現時点では。その中古価格を見てみてください。なんとなく重要度がわかるのではないでしょうか?)

★ローカルウィンドウで変数やオブジェクトの階層の確認ができること

★イミディエイトウィンドウでParentプロパティなどで上位や下位のオブジェクトを調べたり、変数の値や1行命令などが実行できるようになること

★ウォッチ式が扱えること

・ヘルプとオブジェクトブラウザが扱えること

・小数計算(セル・変数の扱いも含む)でどんな計算間違いが起こるか学んでおく

・できれば「SQL」を学ぶ事。
リレーション、設計の基礎が学べます。
(「SQL」は、Excelの場合、MicrosoftQueryという機能でもVBAでも学べます。
MicrosoftQueryという機能はAccessでいう「クエリ」とほぼ同じ機能です。
GUIでSQLを自動生成できます。)
おススメ書籍→https://www.amazon.co.jp/Excel%E3%81%A7%E4%BD%BF%E3%81%86MySQL-%E3%...

・できれば、「ADO・DAO」「ODBC・OLEDB」「ODBCデータソース」「Scheme.ini」を学ぶ事。



※参考
VBAについて
https://euc-access-excel-db.com/tips/ct07_se/ct075012_xls2k_vba_tip...
おススメ本
https://euc-access-excel-db.com/tips/ct07_se/ct075012_xls2k_vba_tip...


※★のついた項目は重要度が高く、これが全部できてはじめて「VBAの本当のスタートラインに立った」と言えます。それまではスタートラインにすら立てていません。
初心者本を読んだだけでは思い通りのものを「組み立てる」力がまったくつきません。
理由は、上記の項目を単純に教えてもらえないことと、「次なる目標は★の項目」という道しるべすら示されないからです。
「スタートラインにすら立てていない」わけですから、挫折して当然です。
そして特に、★★の項目ができないと、ヘルプとオブジェクトブラウザは絶対に自力で読めません。
結果、自力でのエラー解決ができないか、数分で解決できることに丸一日~数日も悩む羽目になります。




>書籍以外の学習方法でおススメのもの

プログラミングはエラーが出たとき、「調べる・読む」の連続なので、基本、「本だけ」で「学べないといけない」と思います。

ただ、知識を広めるという意味で、動画やセミナー、オンラインレッスンなどもよいのではないでしょうか?

ただ、それらを受けても、上記の項目をサボるとまったく上達しません。
お金払って習ったとしても、上記の項目をサボると上達しません。
下手をするとかなり高い確率で、挫折が待っています。

基本、ヘルプ、オブジェクトブラウザが読めれば、本・Web・動画やセミナー、オンラインレッスンなどの読解力・理解力が10倍は上がります。
時にはそれらの記述ミスやいい加減さも分かるようになると思います。
エラーの解決も速くなります。

ですので、ヘルプ、オブジェクトブラウザは必須です。

そうなるには、前述した項目の、「SQL」や「ADO・DAO・・・ほか」以外は、毎日試行錯誤するか、わかる人に「わかるまで」何百回でも聞いてください。

  • osa********さん

    2020/7/502:04:42

    最低限、前述の項目を試行錯誤しながら、このサイトの質問を「問題」と思ってご自分でやってみるとよいと思います。

    「実際に回答してみる」というのもとても良いのではないでしょうか?

    今このご質問にご回答されている中にも、すごく上手なご回答をされる方々がいらっしゃるので、そういう方々の回答を見るだけも勉強になります。

    僕なんか全然ダメダメなので(ワークシート関数すらわからないので)、そういう方々のご回答が、
    「なるほど~なんでこんなこと思いつくんだろう・・・?
     すごいな~・・・」と、
    とても参考になっています。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

bbw********さん

2020/7/414:40:41

開発リボン→マクロの記録

出来上がったモジュールを見て書き方を覚えました。

kaw********さん

2020/6/3019:24:02

無料の講座があります。
http://www002.upp.so-net.ne.jp/km1940hp/
ご紹介します。

プロフィール画像

カテゴリマスター

2020/6/2917:21:22

①「入門レベルでは決して足りない実務に必須のスキルとは ExcelVBA 実戦のための技術」
ぐぐったら出てきます。

②VBAの資格試験の勉強とかどうです?
独学から入ると、基礎にちょいちょい抜けがありますし(経験談)。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる