実務でよく使うVBA関数は「文字列操作」「日付・時刻」「数値処理」「データ判定」「ファイル操作」などに分類されます。特に Len、Left、Mid、InStr、Format、DateDiff、IsEmpty、Dir などは頻出です。
VBA関数とは
VBA関数とは、VBA(Visual Basic for Applications)で特定の処理をまとめて実行し、その結果(戻り値)を返す仕組みのことです。Excelのセルで使う関数と似ていますが、VBAコード内で利用する点が特徴です。
🔎 VBA関数の基本
- 定義:ある処理をひとまとまりにして呼び出せるようにしたもの。
- 役割:入力(引数)を受け取り、処理を行い、結果(戻り値)を返す。
- 書式:
変数 = 関数名(引数1, 引数2, ...)
VB📂 VBAで使える関数の種類
- VBA組み込み関数
- VBA自体に用意されている関数
- 例:
Len("Excel")→ 5(文字数を返す) - 例:
Date→ 今日の日付を返す
- ワークシート関数
- Excelのセルで使う関数をVBAから呼び出すもの
- 書き方:
WorksheetFunction.関数名 - 例:
MsgBox WorksheetFunction.Sum(Range("A1:A10"))
VB- ユーザー定義関数(UDF)
- 自分で作成する関数
- 例:
Function AddTax(price As Double) As Double
AddTax = price * 1.1
End Function
VB✅ VBA関数を使うメリット
- コードの再利用性:同じ処理を何度も書かずに済む
- 可読性の向上:処理を関数に分けることで見やすくなる
- 保守性の向上:修正が必要なときに関数だけ直せばよい
💡 まとめ
- VBA関数は「処理をまとめて結果を返す仕組み」
- 組み込み関数・ワークシート関数・ユーザー定義関数の3種類がある
- 実務では「文字列操作」「日付処理」「数値計算」「ファイル操作」などで頻繁に利用される
よく使うVBA関数一覧(実務向け)
🔤 文字列操作
- Len:文字数を取得
- Left / Right:左端・右端から指定文字数を抽出
- Mid:文字列の一部を抽出
- InStr:部分文字列の位置を検索
- Trim / LTrim / RTrim:空白削除
- Replace:文字列の置換
- UCase / LCase:大文字・小文字変換
📅 日付・時刻
- Date:今日の日付を返す
- Now:現在の日時を返す
- DateAdd:日付の加算(例:1日後、1か月後)
- DateDiff:日付の差を計算(例:納期までの日数)
- Format:日付や数値を指定書式で文字列化
🔢 数値処理
- Abs:絶対値
- Round:四捨五入
- Int / Fix:整数部分を取得
- Sgn:符号を返す(正=1、負=-1、0=0)
✅ データ判定・型変換
- IsEmpty:変数が未設定か判定
- IsNumeric:数値かどうか判定
- CInt / CLng / CDbl / CStr:型変換
- VarType:変数の型を判定
📂 ファイル・フォルダ操作
- Dir:ファイルやフォルダの存在確認
- FileLen:ファイルサイズ取得
- CurDir:現在のディレクトリ取得
- MkDir / RmDir:フォルダ作成・削除
📊 ワークシート関数の利用
VBAからExcel関数を呼び出す場合は WorksheetFunction を使用します。
例:
Sub Sample()
MsgBox WorksheetFunction.Sum(Range("A1:A10"))
End Sub
VB実務で特に便利な組み合わせ
- 文字列処理 + InStr/Replace → データクレンジング
- DateDiff + If → 納期チェックや期限切れ判定
- Dir + Loop → フォルダ内ファイルの一括処理
- WorksheetFunction.VLookup → マスタ参照やデータ突合
👉 まとめると、文字列操作・日付処理・型判定・ファイル操作・ワークシート関数呼び出しが実務でのVBA利用の中心です。

