ExcelVBA 関数|引数を利用し呼び出しで同じ処理を繰り返しする方法

 

ExcelVBA  関数を使うことで、同じ処理を繰り返し使えるようになり、コードの見やすさ・保守性が向上します。また、引数を利用することで柔軟に動作を変更可能です。 使い方や注意点など、サンプルコードをもとに具体的に解説します。

 

📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!

👇実務で“そのまま使える”テンプレ付きで、コピペするだけ
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き

 

Excel VBA 関数|引数を利用し呼び出しの利用シーン

以下のシーンで利用します。

1.計算処理をまとめる(例:税込価格を計算)

2.データの変換を簡単にする(例:氏名をフルネームにする)

3.処理の再利用性を高める(例:同じ計算を複数のシートで使う)

 

Excel VBA 関数の基本形サンプルコード

標準モジュールに関数を作成し、他のマクロやワークシート関数として利用できます。

税込価格を計算する関数

標準モジュール

Function 税込価格(税抜価格 As Double) As Double
    税込価格 = 税抜価格 * 1.1 ' 消費税10%を適用
End Function
ポイント

・Function 関数名(引数) As 型 で定義

・戻り値 = 計算結果 で値を返す

自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。

👉無料ExcelVBAベーシック選択問題138問

呼び出し方法

Excelのセルに =税込価格(1000) と入力すると、1100 が表示される。

Option Explicit

Sub 計算テスト()
    Dim 価格 As Double
    価格 = 税込価格(1000)
    MsgBox "税込価格は " & 価格 & " 円です。"
End Sub

Excel VBA 引数を2つ以上持つ関数サンプルコード

指定した割合の税込価格を計算する

Function 税込価格率(税抜価格 As Double, 税率 As Double) As Double
    税込価格率 = 税抜価格 * (1 + 税率 / 100)
End Function

呼び出し方法

Option Explicit

Sub 税率テスト()
    Dim 価格 As Double
    価格 = 税込価格率(2000, 8) ' 消費税8%を適用
    MsgBox "税込価格は " & 価格 & " 円です。"
End Sub

Excelのセルに =税込価格率(2000, 8) と入力すると、2160 が表示される。

Excel VBA 関数をマクロから呼び出すサンプルコード

関数は マクロ(Subプロシージャ)内でも使えます

フルネームを作成する関数

Function フルネーム(姓 As String, 名 As String) As String
    フルネーム = 姓 & " " & 名
End Function

自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。

👉無料ExcelVBAベーシック選択問題138問

マクロから関数を呼び出す

Option Explicit

Sub 名前表示()
    Dim 名前 As String
    名前 = フルネーム("田中", "太郎")
    MsgBox "フルネーム: " & 名前
End Sub

「フルネーム: 田中 太郎」と表示されます。

 

関数を作るときの注意点

・戻り値の型を適切に設定する(As Double や As String など)

・エラー処理を考える**(例:0除算を防ぐ

・計算ロジックが明確になるようコメントを書く

 

Excel VBA 関数|引数を利用し呼び出し|まとめ

1.Function関数を使うと計算処理を再利用できる。

2.引数を使うと柔軟に関数の動作を変えられる。

3.マクロ内(Sub)やワークシート関数としても使える。

関数を活用して VBAコードをスッキリ&効率的にしましょう。

 

Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。

👉無料ExcelVBAベーシック選択問題138問