VBAマクロで関数を使おう
はじめに
プログラムに関数を定義できるようにExcel VBAでも関数を定義して使うことができます。
関数を定義することでソースコードの可視性が大きく広がり、作成工数も減ります。
ぜひ使いこなしましょう。
1章 関数を使えるとどんないいことがあるのか
関数を定義する利点の一つは、同じ処理を何度も繰り返し使えるという点です。もしマクロの中で何度も同じ計算や判定を行う必要がある場合、関数にまとめておけば呼び出すだけで済みます。これにより、コードが短くなり、間違いが起きにくくなります。
もう一つの利点は、プログラムが読みやすくなることです。処理の内容に名前をつけて関数として分けることで、「この部分は○○を計算している」ということが一目でわかります。後から自分で見直すときや、他の人に渡すときにも理解しやすくなります。
さらに、関数を使えばエクセルのセルに直接利用することもできます。つまり、標準では存在しないオリジナルの関数を作って、表の中で他の関数と同じように計算に組み込めるのです。これによって、自分の業務にぴったり合った関数を作成でき、作業の効率が大幅に上がります。
このように、関数を定義することはマクロを整理し、再利用性を高め、作業をより便利にする大切な方法です。初心者にとっては少し難しそうに感じるかもしれませんが、一度覚えると非常に役立つスキルになります。
2章 実際に関数を定義しよう
ここでは"Hello,World!"と書かれたメッセージボックスを表示するマクロを関数で定義して実装しようと思います。
"Hello,World!"と書かれたメッセージボックスを表示する関数を「Mbox」と名付けます。
これを実際にコードにすると以下のようになります。
Sub ボタン1_Click()
Mbox
End Sub
Function Mbox()
MsgBox "Hello,world!"
End Function
ここでSub〜End Subで囲まれた部分がjavaやC言語で言う所のmain関数で、Function~End Functionで囲まれた部分が今回自分で作成した関数です。
これを実行すると下記のようになります。

さいごに
今回は関数を定義して呼び出すことを取り上げました。
関数を定義するだけで修正も作成も可視性もぐっと上がるのでぜひ使いこなしてください。
株式会社ONE WEDGE
【Serverlessで世の中をもっと楽しく】
ONE WEDGEはServerlessシステム開発を中核技術としてWeb系システム開発、AWS/GCPを利用した業務システム・サービス開発、PWAを用いたモバイル開発、Alexaスキル開発など、元気と技術力を武器にお客様に真摯に向き合う価値創造企業です。
Discussion