Excelマクロ超入門 マクロを書いてみたい人のための基本の「き」

  • URLをコピーしました!

Excelマクロを書けるようになると、仕事の幅は広がります。 簡単なところから書いてみるのがおすすめです。(今日の記事はマクロに興味がある方向けの記事です。)

目次

Excelマクロでできること

Excelには、マクロという機能があります。 まずは今日のテーマでもあるマクロについてカンタンにご説明します。

マクロって?

仕事でExcelを使うこと多いかと思います。 そのExcelで入力したり、コピペするということを何度もやるというのは、それなりに時間がかかりますし、手間もかかります。 そこでマクロの登場です。 Excelマクロというのは、その処理をExcelにお願いして自動化するためにプログラムを書いていくことです。 このExcelマクロ、壁が高いように感じるのではないかと思います。私がそうでした。 でも、基本的な処理ならすぐにでも体験できますので、興味ある方は実際に書いてみるのがおすすめです。 かくいう私も先日、VBAエキスパートの試験を受けてきました。 VBAエキスパートBasic(ベーシック)に合格するまでにやった勉強方法 | GO for IT 〜 税理士 植村 豪 Official Blog まずは、Excelの設定を変える必要があるので、こちらの記事を参考に準備をしておきましょう。 →Excel VBA超入門 マクロを書いてみたい人集合! 仕事ときどきアウトプットがおすすめ | GO for IT 〜 税理士 植村 豪 Official Blog

カンタンなマクロを書いてみる

準備ができたら、マクロを書いてみましょう。 まずは、Excelの画面を開いたまま、Alt+F11を押して、VBE(Visual Basic for Editor)を開きます。 スクリーンショット 2019 05 23 18 16 08 さらにAlt→I→Mと順番に押していくと、白い画面が表示されます。と同時に左側のツリーに標準モジュールというのが増えています。 これがいわゆるノートのような意味合いで、ここにマクロを書いていきます。 スクリーンショット 2019 05 23 18 16 27 書き方としては、「Sub 〇〇()」に始まり、最後は「End Sub」で締めます。 この〇〇というのは、タイトルの意味合いで自由に決めることができるのですが、ルールがあり、  

注意

  • 数字を頭にすることはできない
  • 記号を使うことはできない

というルールがあります。 「Sub sample」と書いてみると、「End Sub」が自動で表示されるはずです。 あと、SubとSampleの間にはスペースを入れます。Tabキーかスペースキーを押しましょう。私はTabキー派です。 スクリーンショット 2019 05 23 18 24 37 ここで表示されないとなると、設定がうまくできていない可能性があります。 下記の記事から設定を確認してみましょう。 Excel VBA超入門 マクロを書いてみたい人集合! 仕事ときどきアウトプットがおすすめ | GO for IT 〜 税理士 植村 豪 Official Blog Sub〇〇とEnd Subの間にマクロでやってほしいことを書いていきます。 次のように書いてみましょう。大文字小文字は考えなくても動きますが、読みやすさからセルの列(アルファベット)は大文字にしています。 スクリーンショット 2019 05 23 19 23 17

1行目に書いた「Range(“A3”).Value = 1」でA3セルに数字「1」が入力されます。  

補足 もし数字でなく、文字を入れたい場合には、「”大空翼”」のように「””(ダブルクオーテーション)」で囲みます。
この場合1行目は「セルA3の値は1である」という意味になります。 セルA3を指定したい場合、文字列なので「“”」で囲います。

  • 「.」→「の」
  • 「Value」→「値」
  • 「=」→「は」

と考えるとわかりやすいです。 同じように2行目以降もどうなるか予想して「実行」をしてみましょう。

実行するには?
マクロを実行するときはVBEのいずれかにカーソルがある状態で「F5」を押します。
実行してみると、C3セルに「1」が入って、フォントが赤色に変わったかと。 2行目の「Range(“C3”).Value = Range(“A3”).Value」によって、セルC3の値はセルA3の値であるという意味です。 このイコールは代入といって、セルC3に「=(イコール)」以降を入れるという意味です。 さらに3行目の「Range(“C3”).Font.Color = vbRed」でフォントカラーが赤になります。 これは「vbred」というのでなんとなくわかるかと。青は「vbblue」ですし、色の数字で指定することもできます。

Cells(行,列)を使った書き方

Rangeではなく、Cellsを使った書き方もあります。 Cellsを使う場合には、Cells(行,列)という感じで、Rangeを使って書くのとは、書き方が逆になるのと数字で表示する点が違います。 例えば、セルD5であれば、Cells(5,4)と書きます。4というのは「A,B,C,D…」で4番目だからです。 先ほどのRangeのケースと同じ動きをさせるには、次のように書きます。 スクリーンショット 2019 05 23 20 12 50

こちらのCellsだと列を数字にすることもあり、一瞬考えちゃうんですよね。(私は) 同じようにわかりにくい方は、列の数字部分を「”A”」のようにアルファベットに変えて書いても同じように動きます。ちゃんと「””」で囲まないとエラーになります。 スクリーンショット 2019 05 23 20 13 31

マクロでしかできない繰り返し処理

マクロでしかできないことの1つは繰り返し処理。 この繰り返し処理をやってみましょう。 繰り返し処理には「For〜Next」構文と変数を使います。 変数のイメージは箱。 この箱にデータを入れて、その値を増減させます。 ここでは変数を「i」として、「Dim i」で宣言し、次の「For i=」以下で「i」が3から12まで変わるよと言っています。 スクリーンショット 2019 05 23 21 31 31 繰り返ししたい処理をForとNextで囲います。Nextを書き忘れるとやっぱりエラーになります。 この記述でどうなるか?を考えた上で「F5」を押してみましょう。

先ほどはセルC3でやっていたことが、セルC12まで繰り返し処理されます。本当に一瞬です。 スクリーンショット 2019 05 23 21 30 54 この繰り返し処理はマクロ でないとできないことです。 私自身はマクロをやってよかった、特にひとりしごとには合っていると感じるので、興味のある方はこれを機に始めていただければ。 会計処理の効率化などにも応用できるものです。 節税か?お金か? Excelマクロを使った法人税のシミュレーション | GO for IT 〜 税理士 植村 豪 Official Blog


【編集後記】 昨日は午後からお客様訪問。新しいMacbookProの発表をよそにあるものを購入。到着が楽しみです。 【昨日の1日1新】 ※「1日1新」→詳細はコチラ みず穂の和み

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次