ぐわぐわ団

読んで損する楽しいブログ

ExcelのVBAは覚えたら勝ちみたいなトコがある

Cさんが嬉しい文章を書いてくれました。

まけもけさんがExcelとかぴそんとかの記事あげると
(うほほ…)てなるのよね
(僕も勉強したい)てなる

ぜひして頂きたい。ExcelのVBAなら「Alt +F11」押せばすぐにできるし、最初はマクロの記録で自動化したいことを覚えさせて、じーっとコードを眺めているだけで何とな〜くわかったような気になれます。実際、マクロの記録で出てくるコードってぐちゃぐちゃで役に立たないみたいに言う人もいますが、そんな最初からきれいなコードを書く必要はないし。

Pythonと違ってExcelのVBAにはセルという座標があるのでセルの位置の決め方さえ覚えたらかなり自分にとって使えるモノになるのです。

Range("A1").Offset(3,1).value がA1セルから下に3つ下がって、右にひとつ横移動したB4セルの値になるということが最初はなぜかめちゃくちゃ理解しにくくてぎゃーとなるのですが、いうたら"↓→"(下に行ってから右に行く)さえ覚えてしまえばよいのです。

これでセルの位置を確定させることができたら、後は".value"(値のコト)とか、".select"(その場所にアクティブセルを移動するコト)とか、".copy"(文字通り値をコピーするコト)とかを覚えてしまえば、何となくVBAは使いこなせるのではないかなと考えています。もちろん、難しいコトをしようと思えばいくらでもできますが、簡単なコトをちょっとだけ自動化させるだけでもめちょんこ効率化になったりします。1日10回繰り返していることをボタンをクリックするだけでできちゃうようにすれば、最初はコードを書く手間がかかりますが、書いてしまえばそれ以降は一瞬です。

ちなみに、Excelでマウスとキーボードを使って人間がちまちまと作業していることのほとんどはVBAで自動化できます。どんなことができなくて、どんなことができるかなんて考えなくても、これ面倒だ!と思った瞬間から「どうすれば自動化できるか?」を考えはじめたらよいのです。頑張りましょう。合掌。