VBAが出来る方、皆さんはどうやってVBAを学びましたか?

Visual Basic489閲覧

ベストアンサー

1

1人がナイス!しています

Rangeオブジェクトはすべての基本になるので、メンバー(メソッド、プロパティ)はすべて目を通しておいた方がいいです。

ThanksImg質問者からのお礼コメント

多くの皆さんの経験談から自身のやり方や、そうした方法が!といい刺激になりました。 ありがとうございます!

お礼日時:2021/11/25 20:36

その他の回答(4件)

0

自分はAccessからVBAに入ったのですが、 市販の書籍を読みまくってWeb検索しまくりました。 最近、やっとExcelVBAの基本がわかってきた超初心者のバカなのですが、 ExcelVBAの場合、 市販書籍、Webサイト、動画、は、ウソやいい加減な情報が意外と多いので、 できるだけヘルプとウォッチウィンドウが読めるように努力するといいと思います。 オブジェクトの階層構図や「ステートメント」などについても ちゃんと説明した本やサイトは1つもないし(多分動画もないです)、 上達の最低必須条件(真のスタートライン)である、 「オブジェクト変数の扱い」 「各種キーワードを、省略をしない書き方」 「階層構造を、省略をしないオブジェクト式の書き方」 はもちろん、 もっとも重要なスタートラインの、 「オブジェクトを返す、いろんなタイプの自作関数が作れる」 ということについて詳解した本が日本には1冊もありません。 サイトも基本、ありません・・・。 正しい学習ができないのが現状です。 「オブジェクトを返す、いろんなタイプの自作関数が作れる」と、 ある地点から爆発的にVBAの上達ができると思います。 参考 https://euc-access-excel-db.com/tips/ct07_se/ct075012_xls2k_vba_tips/mag2-01 あと、大きなお世話ですみませんが、 日本で唯一、まともなExcelVBAの書籍は以下の1冊だけだと思います。 https://gihyo.jp/book/2019/978-4-297-10875-5 なので、いろんな本やサイトを参考に、 できれはウォッチウィンドウやヘルプ、オブジェクトブラウザを参考に、 この本が理解できるように学習すると、 上達が早まると思います。 著者のサイトも良いと思います。 基本、ExcelVBAの上達はウォッチウィンドウの使用頻度に正比例します。 (イミディエイトウィンドウなどよりも。) 下手な本やサイトより、ウォッチウィンドウのほうが 10倍、細かいことがわかります。 ヘルプやオブジェクトブラウザを読むことにも大きく貢献してくれます。 さらに大きなお世話ですみませんが、 「SQL」というデータ管理の基礎の命令が扱えるようになると なおいいと思います。 無駄なVBAコードやワークシート関数をかなり減らすことができます。 (あくまでも、VBAで複雑な条件での集計やリストアップがしたい 場合だけに限りますが。ゲーム作成などには不要かもです。 簡単な集計や転記、整形、などだけができればいい、という場合も 不要かもです。) 自分も深くは全然わかっていませんが、かなりExcelVBAでは助かってます。 ADOやODBCなどと一緒に使います。 もしこれからVBAを学習したいということでしたら、ぜひ、 がんばってください。

この返信は削除されました

0

見て・・・マクロの記録で作成したマクロ 調べて・・・ネット検索 やってみて・・・VBEに怒られながら!!

1

私はここの様な質問サイトでのやり取りを見て、 ・質問者側の情報からダミーブックを作成 ・回答者側のコードを当てはめてみて検証 ・検証結果が良ければBookは保存(後にコードだけテキストで保存) ・回答コードの不明点はググってみたり参考書で調べたりもありましたが、サイトによってはその回答者に横から質問してみると教えてくれたりもあった。 が一番大きいかな。 物は試しで回答者としてコードを載せてみると、ベテラン様から『そこはこうした方が良いのでは?』とアドバイスをして下さる方もいました。 それで出来上がったコードはテキストで保存。 回答する際には溜め込んだテキスト等を見て、コピペから質問文に合うようコードの手直しをって繰り返し続けてますね。 時間がたっている割にはレベルは初級者ですけど。

1人がナイス!しています

なるほど!教材でと言うよりかは、質問者のコードを知っている範疇で試行錯誤して、回答者のコードと見比べてみるといった感じなんですね!なるほど、、、、要はより実践的に構築して見るというかんじなんですね! 自分も全くの素人でこれからと言う感じなのですが、それは確かに良いかもしれないです! 今は個人的にすごい作りたいVBAが有るんですが、とても複雑そうでそれがどうしても優先的にしたい気持ちがありますが、基礎が死んでいるんでそこからなんです。やってみます