スポンサーリンク

マクロ(Excel VBA)習得の第一歩、まずは色々と遊んでみる!!

 ブログを読んで頂いている方を対象にオフ会を開催させて頂きます!!
 第2回【ブログオフ会 in 静岡市】2020年1月18日(土)

経理職や会計事務所の業務でマクロ(Excel VBA)が役に立ちます!

以前、こちらの記事↓で会計事務所の業務でマクロ(Excel VBA)をどのように使えるのか、ざっと説明させて頂きました。

マクロというのは、複雑な処理を自動化させる機能のことを言います。

そして、このマクロ機能を作り上げるプログラミング言語を VBA(Visual Basic for Applications)と言います。
Excel における VBA であれば、Excel VBA。

Excel VBA を使いこなせるようになるためには、一歩一歩プログラミングの仕方を勉強していかなければなりません。

今日は、これから Excel VBA を勉強して仕事に役立てたいと考えている方に向けて、まずExcel VBA の始め方について説明し、その後簡単なプログラミングで遊んでみたいと思います。

遊ぶというのは、「プログラミングをして実行される結果を確認をする」という意味です!!

スポンサーリンク

1、マクロ(Excel VBA)の始め方

Excel VBA は Excelに内蔵されているので、始めるに当たって新たに何かをインストールをする必要はありません。

まず、Excel を普通に開いて VBA を使えるファイル形式で保存します。

Excel の画面でメニューバーの「ファイル」から「名前を付けて保存」を選択して、「ファイルの種類」を「Excel マクロ有効ブック(*.xlsm)」として適当なファイル名を付けて保存します。

これにより、拡張子が「xlsm」となりマクロが使えるファイル名(●●●.xlsm)となります。

次に、VBE(Visual Basic Editor)を開きます。
VBE とは、実際にプログラミングを行う(コードを記述する)エディターのことを言います。

メニューバーの「開発」から「Visual Basic」を選択します(ショートカットキー Alt + F11 で代用可←同時押しです)。

すると、Excel シートとは別に以下のようなウインドウが開きます。
左側のProjectウインドウの中に、VBA Project が作られているのが確認できます(先に保存したExcel ファイルの名前がカッコ内に書かれています)。

VBA Project(ファイル名)

次に、このプロジェクトの上(プロジェクトの上であればどこでも良いです。)で右クリックして、「挿入」から「標準モジュール」を選択します。
「標準モジュール」というのは、普通にプログラミングをする(コードを書く)ためのシートだと思って頂ければ良いです。

こうすると、左側のProject ウインドウの中に「Module1」が生成されて選択された状態になります。
右側には真っ白なシートが出来上がるので、そこにこれからコードを書いていくことになります。

一行目に「Sub VBA_Test()」と記述します。
すると、すぐ下に自動的に「End Sub」と出てくるのが確認できます。

Sub ~ End Sub で括られた範囲をプロシージャと呼びます。
そしてSubの後の「VBA_Test」をプロシージャ名と呼びます。

———————————————–

Sub プロシージャ名()

End Sub
———————————————–
Excel VBA では、最初に必ずこのように↑プロシージャ名を記述する必要があり、このプロシージャ内にコードを書くことになります。

2、セルに数値を出力する、セルの色を変える

さて、これから実際にコードを書くに当たり、まずはセルを見ればすぐにプログラミングの結果が分かる簡単なものを紹介するので、遊んで頂きたいと思います。

セルに数値を出力するコード

セルに数値を出力するコードを書いてみます。

次のように記述してみましょう。
———————————————–
Sub VBA_Test()

    Worksheets(“Sheet1”).Cells(6, 5).Value = 1500

End Sub
———————————————–

Worksheets(“Sheet1”)は名前が「Sheet1」のシートのことを意味します。

シートを指定するときは、Worksheets(“シート名”)のように記述します。

Cells(6, 5) は、セル「E6」のことです。

セルの指定は、Cells(行番号, 列番号)のように書きます。
行と列の関係は下の図のようになります。

※なお、Cells(6, 5) は Cells(6, “E”)と記述しても同じセルを指定していることになります。

Worksheets(“Sheet1”).Cells(6, 5)

・名前が「Sheet1」というシートの
・セル「E6」

を指定したことになります。

Value は値を意味します。

Worksheets(“Sheet1”).Cells(6, 5).Value

は、名前が「Sheet1」というシートのセル「E6」の値ということになります。

そして

Worksheets(“Sheet1”).Cells(6, 5).Value = 1500

と記述することで、

名前が「Sheet1」というシートのセル「E6」の値を1500にしなさい

と指示したことになるのです。

コードの実行

上で記述したコードを実行したいと思います。

メニューバーの「表示」の「マクロ」から「マクロの表示」を選択します。

以下については、リンク先にある個別のフォームよりお願い致します。-----------------------
◆第2回【ブログオフ会 in 静岡市】2020年1月18日(土)
◆メルマガ登録

すると、先に作成したプロシージャ名「VBA_Test」が出てくるので、これを選択して「実行」を押します。

実行した結果、セル「E6」に「1500」と数値が出力されました。

指示したとおりに動作したことが確認できました。
マクロによって出力された数値は、普通にBSキーやDeleteキーで消すことができます。

なお、出力させるセルと数値はいくつにしても良いので、コードの中の行番号、列番号、数値↓を自由に変更してどのような実行結果になるか、遊んでみましょう!!

Worksheets(“Sheet1”).Cells(行番号, 列番号).Value = 数値

セルの色を変える

セルに色を付けるコードを記述してみます。

———————————————–
Sub VBA_Test()

    Worksheets(“Sheet1”).Cells(10, 4).Interior.ColorIndex = 6

End Sub
———————————————–

Interior.ColorIndexは、セルの背景色の設定に使います。
これによって設定できる色は全部で57色あり、0~56の番号により設定します。

番号と色の関係はこちらのサイト↓で確認できます。
http://excel.style-mods.net/topic11.htm

さて、この上のコードを入れた状態でマクロを実行してみましょう。

すると、指定したセル「D10」が黄色に塗りつぶされることが確認できます。

これも、セルと色はいくつにしても良いので、コードの中の行番号、列番号、カラーインデックス番号↓を自由に変更して遊んでみましょう!!

Worksheets(“Sheet1”).Cells(行番号, 列番号).Interior.ColorIndex = カラーインデックス番号

3、VBE の文字サイズ変更、実行ボタン作成

VBE の文字サイズ変更

さて VBE(エディター) の文字サイズですが自分が見やすいサイズに自由に変更することができるので、やり方を示しておきます。

VBEのメニューバー「ツール」の「オプション」を選択します。

続いて、オプション画面で「エディターの設定」の「サイズ」で好みのサイズを選択します。

私はいつも「14」にしていますが、人によって見やすいサイズは異なると思いますので、好みに合わせて変更するようにしましょう。

実行ボタン作成

マクロを実行するために便利なボタンの作り方を紹介します。

Excel シート上で「挿入」の「図形」から四角形を挿入し、シート上の適当な場所に配置します。

配置した図形の上で、右クリックをし「マクロの登録」を選択します。

プロシージャ名が出てくるので、先に作成した「VBA_Test」を選択します。
これで、四角形にマクロが登録されたので、四角形をクリックすれば実行されるようになりました。

四角形をクリックしてみると、セル「D10」が黄色く塗りつぶされのが確認できます。



4、まとめ

今日はExcel VBAの始め方と、簡単なコードについて説明しました。

先に紹介したコードの数値部分を変えるなりして、まずは動作確認をしてみましょう。

こうコードを書けばこう動作するという、インプットとアウトプットの関係を意識し、自分が意図したとおりの動きをすることが確認できると、だんだんと楽しくなってきます!

そして、このExcel VBAを使いこなせるようになれば様々な業務の効率化に繋がります!!

以下については、リンク先にある個別のフォームよりお願い致します。-----------------------
◆第2回【ブログオフ会 in 静岡市】2020年1月18日(土)
◆メルマガ登録