- 締切済み
vbaの勉強方法について
独学で、vbaを習得したいです! ただ、きっかけは仕事が忙しく、とてもじゃないけど余裕が持てない。。 のが嫌すぎて、はじめました。 なので、無理やり作ってなんとか動かしてた、という感じで、最初に作ったのは途中で不具合が出たりして、全く身についてません。 本当に習得なんてほど遠く、業務中に、あ、これ効率化できるのでは?と閃いたら必死でvbaをネットで探して切り取りつぎはぎだらけ、本を見て繋いで、という感じです。最近はここに書けば答えてくださる優しい方を頼るだけで、ちょっと、あかんな、勉強せな、と思います。 私のマクロレベルは、1人で困難なく作れたのが、昨日の話ですが最終行まで、昇順に並べる、ぐらいかと思います。 難しすぎて、仕事を早く終わらせたい、という目的がなければ、やる気起きなかったです。本当にわけがわからない世界です。でも、すぐに、文を考え、希望のマクロを作れる人を尊敬します。 皆さんはどうやって学んだのですか?? 参考に、させてください。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- GENESIS
- ベストアンサー率42% (1198/2796)
私も同じ様に独学でやってます。 その昔(10年近く前になるか?)、客先に置いて使ってもらっているコピー機(富士ゼロックスの時代)のメーター値をゼロックスに報告する必要があり、それぞれの部署の計100台ほどあるコピー機をひたすら確認しに行っていました。調べたメーター値を手書きで転記して、その後報告用のフォームに更に手書きで転記して…。正直時間がかかるし転記ミスもあるので困っていました。前任者もずっと同じようなやり方で改善もされませんでした。 元々フォームがエクセルだったので、VBAを使ってもっと簡単に出来ないものかと思ったのがはじまりで、そこからVBAとの戦い?が始まったのです。どう手をつけたものやらと考えて、とりあえずは参考書を購入。VBAとは何ぞやから始まり、サンプルを使ってどう動くのかを確認、その後これを行うにはどうしたら良いかを参考書やネットで調べつつ、実際に作っては動作テストの繰り返しでした。わかっている人から見たらなんと効率の悪い方法だったことか。またこんな参考書も購入しました。 できる逆引きExcel VBAを極める勝ちワザ700 2010/2007/2003/2002対応 「できる逆引き」シリーズ https://shopping.bookoff.co.jp/used/0016788435?utm_source=google&utm_medium=cpc&utm_campaign=pla_ec&xadid=tc_google_ec_pla01 これは中古なので安いですが、当時は新品を買ったので結構な値段でした。逆引きで、「こんな処理をしたい時はどう書く」と言う逆引き辞典です。私は結構役に立ちました。 ど素人が苦労して書いたロジックなので、わかる人が見たら「なんじゃこりゃ」と言われるかも知れませんが、試行錯誤でエラーと修正を繰り返し正常動作までこぎつきました。おかげで今までかなり時間がかかっていた作業がほんの数秒で終わりました。ただその作業も終わってしまい今は使うことはありませんが、かなり勉強させてもらいました。 その後しばらくはあまりVBAには携わりませんでしたが、最近あるマクロを改造しました。業務で図面データの出力があり、PDFのマルチファイルで、A0からA4サイズが不規則な順番で入っています。ただ出力の際はどのページにどのサイズが入っているかを知る必要があり、困っていたところそれを表示してくれるエクセルマクロがあると言うことを知り早速貰いました。が、あくまでもページ中での表示なので、同じサイズをまとめて出力しようとすると結局調べて書き出さなければいけません。で、「もっと楽にしたい」と思い改造を考えました。ただ元々のVBAはすぐに理解できなかったので、手っ取り早く処理を追加をすることで考えました。ただ暫くやっていないと忘れます。でも以前苦労していたのでやり始めたら割と楽でした。それでも万能な頭ではないので、他の回答にもあるネットのサイトをよく利用しました。またやりたい処理も検索すると色々と方法が見つかります。最終的にサイズごとのページ集計が可能になり作業が捗っています。 すみません、長々と私の武勇伝になってしまいました。とにかくまずは何をしたいか、どういった結果にするかを考え、じゃあそれを実行するにはどう言う処理の流れになるか、どう言ったコードを記載するかを考えて行けば良いでしょう。最初から綺麗なものなど作れないし(でもある程度基本は押さえておいた方が良いかも)、特に独学だと尚更です。大事なことはちゃんと期待通りに動くことです。コードの見た目は後からでも直せますので、まずはちゃんと動くことを重要視すれば良いと思います。文法的に間違っていればエラーで教えてくれますし、処理的な間違いなら結果で分かります。 参考書類は手元にあったら便利に思いますが、この手の書籍は結構な値段なのです。ネットが繋がっていれば検索で結構調べられます。基本的なコードなら多少古くても中古なら安く入手可能ですが、検索して調べる手間が気にならないならネットを活用した方が良いかもしれません。“このコードの意味は”とか“これを行うにはどうすれば良いの”とか検索すると結構出てきます。大体は意味、使い方、サンプルがあるので結構便利です。また、“こんな使い方があるのか”と言う様な事も発見できます。頑張って。。。
- kon555
- ベストアンサー率51% (1842/3559)
私は凄くシンプルな、ちょっとしたマクロから入りました。 ちょうどこのサイトの3行マクロみたいな感じです。 https://kokodane.com/3gyou_macro.htm Excelって色々できるものの、頻繁に行う操作が4手5手かかったり、ショートカットを自由に設定できなかったり、地味に不便な部分がいっぱいあるじゃないですか。 それを1つの操作でパッと出来るようにする、というのが最初のスタートでした。 例えば、私は複数のブックを開いてデータを確認して1つの資料をまとめる、というタイプの業務が多々あるのですが、ブックが5つも6つも開いていると、現在作業中のブックがどれか分かりにくくなります。 なので「特定のワークブックをアクティブにするマクロ」を作り適当なショートカットに登録すると、こうした編集作業が劇的に快適になります。 こういう手間に比して快適性を上げられるミニマクロを弄っていると、自然とスキルが身についていきます。 >>vbaをネットで探して切り取りつぎはぎ これはこれでいいと思います。「継ぎはぎできる」というならそれなりのスキルです。 あとは「この部分はどういう意味だろう」とか「○○なら××する、と言う風にしているのはどの部分かな?」とか、コードの内容を少しずつ理解して行けばその内上達すると思います。
補足
いいですね!! アクティブにするのって そんなこともショートカットマクロできるんですね!!! そゆの、、いいですね すごく、好きです 快適操作になるし♫ そゆの、、からですよね それだと全力で力そそげます、ほんとに 私全て仕事がらみ、から始まるので 為になるコメント、ありがとうございます! つぎはぎは、まぁ、仕事のために無理やり作って、、 でして、本当につぎはぎにボロが!!何度も再工事しました 今はそのマクロ使うたびに涙出そうなくらい愛着が。。。 仕事場の人には誰にもお披露目してないですけどね つぎはぎ、だとかっこ悪いし。。。 秘密のところで快適にするから楽しいんですよね
- kkkkkm
- ベストアンサー率66% (1719/2589)
回答No.2の補足です。 これから勉強されるという事ですので 前回の質問で参考にしたというコードにあった GoTo 〇〇 ですが On Error GoToば別として そのような記述のあるコードは参考にしない方がいいと思います。
補足
やぱそうなんですね 探してきたものでも、綺麗に動くのと、あれ、と思うもの、ありました! あれ、を自分で正しくできるように、なりたいです。 無知、だめですね 変なマクロを拾わないよう、気をつけなくては。
- kkkkkm
- ベストアンサー率66% (1719/2589)
私がここで勉強したというわけではありませんがVBAの事で検索した時に出てきた結果でよく参考にするのが以下のサイトで、学習方法も記載されているみたいです。 エクセルの神髄 ExcelマクロVBAの基礎を学習する方法 https://excel-ubara.com/EXCELVBA0.html VBA入門:Excelマクロを基礎から学習 https://excel-ubara.com/excelvba1/#sec1-3 Office TANAKA Excel VBAコンテンツ http://officetanaka.net/excel/vba/
お礼
補足
oh!ゴッドーーー!!! やはりコメントくれましたね😄 今日、作ってくださったマクロで仕事しました すごくっ!! スムーズに動くし、最高✨ 本当に、感謝してもしきれない、です🥺再度ありがとぅございました 絶対教えてくださった、サイトも、見てみます🙇♀️
- t_hirai
- ベストアンサー率28% (222/788)
こちらのサイトとかどうでしょうか? すごくわかりやすいですよ。 千円/月ですが、VBA勉強したら抜ければ良いと思いますよ。 https://dotinstall.com/lessons/basic_excel_vba
補足
やはり、これは大変すぎる❗️という何とかしたい、という原動力があれば何とかするものですよね。 今はここで聞けば優秀な方が答えてくれるのも1番早いし。 また改善案考えて取り組んで、、の繰り返しで頑張ろっ 回答ありがとうございます!