第1回の講座ではマクロとVBAの違いやマクロの記憶の方法など、マクロの基礎について解説しました。(詳しくはこちら)
マクロの記憶方法を知っていると、同じ操作をボタン一つで繰り返し操作が出来ます。
しかし、マクロの記憶を使う方法だと、いちいち手動操作をしてコンピュータに覚えさせないといけません。
非常に面倒ですよね。
VBAの書き方を知っていると、いちいち記憶させなくても自由にマクロを作成する事が出来ます。
今回はVBAの書き方、その第1回目の学習としてExcelのセルの操作方法について解説します。
VBAの書き方はマクロを使う上での必須スキルです。
図を用いて分かりやすく解説しますので、ぜひ最後までお読みください!
VBE(エディター)の起動方法
前回マクロの記憶の方法について説明しました。
何となくやり方について分かったかな?
はい!マクロの記憶の方法については理解できました!
今回はマクロを自分で作るためのプログラミング言語VBAの書き方について説明するよ
ついにプログラミング言語を書くんですね!
でもプログラミング言語なんて僕に書けるか心配です…
VBAは他のプログラミング言語と比べて比較的分かりやすい言語だから安心して!
一つずつ分かりやすく解説していくよ。
まずはマクロを使うための土台を作るよ。
1.【開発】タブの「マクロ」ボタンをクリックします。
2.マクロ名(任意)を入れて「作成」ボタンをクリックします。
マクロ名は何でも構いません。
ここでは英語で「First_Macro」としていますが、日本語の名前でも構いません。
するとこのような画面が表示されます。
これがVBAを使ってプログラミングするための土台(エディター)だよ。
これはVBE(Visual Basic Editor)と呼ばれているよ
エディター?また知らない単語が出てきたな…
エディターとはプログラミングを行うための開発ツールの事を言うよ。
このツールを使ってVBAを書いていくんだよ。
なんだか分かったような分からないような…
プログラミングをやった事ないと、急にエディターと言われても難しいよね。
徐々に慣れていくから心配しなくて大丈夫だよ。
マクロ、VBA、VBEの違い
Excelのマクロというものは「マクロ」「VBA」「VBE」の3つに分けられます。
- マクロ:Excelの操作を自動で行う機能のこと
- VBA :マクロを動かすためのプログラミング言語のこと
- VBE :VBAを記述するための開発ツールのこと
この3つの違いを抑えておけばマクロはマスター出来ます!
最初は違いがよく分からないと思いますが、マクロを作っているうちに徐々に覚えていきますのでご安心ください。
大事なのは手を動かして簡単なマクロを作ってみることです。
決して難しくはありません。
頑張って一緒に学んでいきましょう!
VBAの書き方
エディターが起動出来たところで、いよいよVBAの書き方について教えていくよ。
まずはエクセルの特定のセルに文字を入れるマクロを作ってみよう
VBA記述方法
次のような記述をしてみます。
VBE(エディター)ではVBA(プログラミング言語)で次のように書かれています。
Range(“A1”).Value = “はじめてのVBA操作”
End Sub
このVBEに記述されているVBAの内容をコードと呼びます。
コードを書くことでマクロの作成が出来ます。
ではこのマクロを実行してみましょう。
マクロ実行方法
実行は次の手順で行います。
実行方法は2通りあります。
①VBE(エディター)上で実行する方法
1つ目はVBE上で実行する方法です。
緑色の三角ボタン(再生ボタンのようなマーク)をクリックします。
②マクロ一覧画面から実行する方法
2つ目はマクロ一覧画面から実行する方法です。
「開発」タブの「マクロ」をクリックします。
実行するマクロ「First_Macro」を選択し、「実行」ボタンをクリックします。
マクロ実行結果
マクロを実行するとExcel上で次の結果になります。
A1のセルに文字が入りましたね!
おー!文字が入った!すごい!
簡単でしょ!コードの内容についてもっと詳しく解説していくよ。
セルの操作方法
どのセルに何を入れるかはコードの中で次の方法で指定します。
セルの指定
ここでどのセルに対して操作をするかを指定します。
記載方法は以下です。
Range(“(操作するセルの場所)”)
Rangeは「レンジ」と読みます。
Range(“A1”)と書くとA1セルに対する操作、Range(“B10”)と書くとB10セルに対する操作になります。
セルの操作
ここでどんな操作をするかを指定します。
今回の例では「セルに文字や値を入れる」という操作を指定しています。
セルに値を入れるという操作は次のように書きます。
.Vlaue = “(セルに入れる文字列)”
指定したセルの右に”.”(ドット)を入れます。
”.”(ドット)の後ろが行う操作です。
「Value」は入れる文字を指定する操作ですが、入っている文字を取得する「Text」というものもあります。
Excelマクロでは主にこの2つ「Value」と「Text」を使います。
今回はセルに文字を入れる「Value」だけ覚えて頂ければ大丈夫です。
「Text」の使い方は別の講座で詳しく解説します。
挿入文字
ここで入れる文字を指定します。
文字は半角のダブルコーテーション(”)で囲みます。
“(セルに入れる文字列)”
文字列はダブルコーテーション(”)で必ず囲む必要があります。
数値の場合はダブルコーテーション(”)無しでも大丈夫です。
(例)A1セルに数値”5″を入れる場合
Range(“A1”).Vlaue = 5
こうしてExcel上に入れたい文字を入れることが出来るんだよ
なるほど!VBAの書き方って思っていたよりも簡単ですね!
複数セルの操作
上の例では1つのセルのみ文字を入れましたが、複数のセルを同時に操作することも可能です。
次のマクロを実行してみましょう。
コードはこのようになっています。
Range(“A2”).Value = “文字を入れることが出来ました”
Range(“A3”).Value = “もっといろんな操作を覚えていきましょう!”
マクロ実行結果は次のようになります。
このようにコードを複数行書くことによって複数の処理が1度に可能になります。
VBAコードの整形方法(インデント)
VBAコードの書き方が分かったところで、コードの整形方法について解説します。
次の2つのコード見比べた時にどちらの方が見やすいでしょうか?
②の整形ありの方が見やすいですよね。
このように整形することをインデントすると言います。
コードの先頭文字を間隔を空けることによって見やすくします。
インデント無しでもマクロは正常に動作しますが、コードの内容が多くなると大変見づらくなるのでインデントでコードを整形する癖をつけましょう。
先頭文字は半角スペース4つ分空けるのが基本ルールです。
スペースを毎回4回打ち込んでもいいですが、面倒なのでインデントしたい部分で「Tab」キーを入れると自動で半角スペース4つを入れてくれます。
Tabキーはキーボードの一番左の真ん中あたりにあります。
インデントするには、まず整形したい行の先頭の文字にカーソルをあてます。
この状態で「Tab」キーを入れると自動で半角スペース4つ分インデントされます。
スポンサーリンク
プロシージャとは
続いてプロシージャとは何か解説します。
プロシージャはマクロを動かすために必須の項目です。
VBAコードの書き方は分かったかな?
はい!わかりました!
ところで、コード書くところいある”Sub”って何の事ですか?
プロシージャは処理の内容が書かれた、かたまりと覚えてくれれば良いよ。
プロシージャの記載方法
プロシージャは次のように記載します。
End Sub
プロシージャ名は何でも構いません。
プロシージャは「Sub」~「End Sub」で囲みます。
処理が「Sub」から始まって「End Sub」で終わりという事を表わしています。
もう一度さきほどのコードを見てみましょう。
ここで何か気づきましたでしょうか?
そう、プロシージャ名がマクロの名前になっています。
プロシージャは自分で作成する事もできますが、マクロの作成をすると
プロシージャを自動で作られ
プロシージャ名にマクロの名前を自動で入れてくれます。
このようにプロシージャのかたまりの中に、行いたい処理の内容をVBAコードで書くことによってマクロが実行できるようになります。
プロシージャの種類
マクロのプロシージャにはこの「Sub」と、他にも「Function」というものがあります。
それぞれ役割が少し異なっています。
Functionについては別の講座で詳しく解説します。
まずはこの「Sub」というプロシージャを覚えてください。
セルに文字を入れるだけであれば「Sub」が使えれば問題ありません。
作成したマクロの保存方法
作成したマクロを保存しましょう。
第1回の講座で行った通り、マクロファイル(.xlsm)で保存する事を忘れないで下さい。(詳しくはこちら)
Excelファイル(.xlsxや.xls)で保存してしまうと、せっかく作ったマクロが消えてしまうのでご注意ください。
まとめ
今回はVBAの書き方として簡単なセルへの文字の挿入方法について解説しました。
「VBE」「プロシージャ」「セル操作方法」「インデント」
と色々な新しい単語が出てきて混乱された方もいらっしゃるかと思います。
第1回の講座で出てきた単語と合わせておさらいをしておきます。
- マクロ:Excelの操作を自動で行う機能のこと
- VBA :マクロを動かすためのプログラミング言語のこと
- VBE :VBAを記述するための開発ツールのこと
- プロシージャ:処理が書かれたかたまりのこと
- セル操作:Rangeを使ってセルを操作する
- インデント:VBAのコードを整形すること
今回解説した内容はExcelマクロを作る上で必須の超基本となる部分です。
ぜひ今回の内容を踏まえご自身で好きな内容をセルに入れるマクロを作ってみてください。
次回はセル操作について、さらに詳しく解説します。
次回もご覧いただけると幸いです。
~天然マクロ学校~
コメント