実務で使える VBA関数一覧・逆引きリファレンス
「教科書的な説明」はもう要らない。現場で本当に必要なコードと、
プロしか知らない「落とし穴」回避策をまとめた業務効率化のための技術データベースです。
日付・時刻操作のVBA関数一覧
経理の支払期限計算、勤続年数算出、営業日判定など実務で頻出する日付処理。
翌月末の支払期限算出
支払遅延は信用問題になるため、30日固定ではなく厳密な月計算が必要。
勤続年数と月数の計算
退職金計算や有給付与日数は、1日のズレも許されない厳密な期間計算が必要。
月末日の自動特定
毎月の請求書発行日は「末日」が多いが、28日〜31日と変動するため固定値では対応できない。
文字列日付の変換
OCRで読み取った請求書の日付はただの文字なので、計算可能な日付型に変換必須。
年度(4月始まり)の判定
予算管理は「年度」区切りで行うため、カレンダー上の年とはズレが生じる。
季節変動の集計
売上の季節トレンド(夏物・冬物)を分析するためのグルーピングキー作成。
締め日の判定処理
請求データの集計期間を間違えると、月次の売上着地見込みが大きく狂う。
土日祝日の判定
稼働日ベースの納期計算や、休日出勤手当の自動計算ロジックに必須。
作業タクトタイム計測
製造ラインのボトルネックを探すため、秒単位での作業時間記録が必要。
マクロの処理速度計測
処理に10分かかるマクロを1分に短縮するための、ボトルネック特定(ベンチマーク)。
文字列操作のVBA関数一覧
データクレンジング、コード抽出、表記ゆれ統一など。
商品コードの分類抽出
倉庫内の棚番ルールがコードの先頭文字で決まっている場合の自動振り分け。
ファイル拡張子の判定
指定以外の形式(例:exe)がアップロードされるのを防ぐセキュリティ対策。
固定長データの解析
全銀協フォーマットなど、古いホストコンピュータ由来のデータ処理。
郵便番号の桁数検証
顧客マスタ登録時に不備データを弾き、DMの不達率を下げる。
メアドのドメイン抽出
特定の競合他社ドメインからの問い合わせを自動でフラグ付けする。
ファイル名のみ抽出
フルパスリストからファイル名だけを切り出し、一覧表を作成する作業。
電話番号のハイフン削除
CTIシステム(電話システム)へのインポート用に、数値のみの形式に統一する。
商品名の余白削除
検索機能で「iPhone」と打ってもヒットしない(スペースが邪魔)問題を解消。
全角半角の統一(名寄せ)
表記ゆれ(半角カナと全角カナ)を統一し、顧客の重複登録を防ぐ。
CSVタグの配列化
CMSから吐き出されたカンマ区切りのメタデータを、1つずつのセルに展開する。
ファイル・フォルダ操作のVBA関数一覧
PDF自動収集、ログ削除、フォルダ自動作成など自動化の要。
請求書PDFの収集
毎月送られてくる数百枚のPDFを手動でリネーム・移動する作業の完全自動化。
古いログファイルの削除
サーバー容量圧迫を防ぐため、保存期間を過ぎたバックアップを自動消去する。
添付ファイルサイズ確認
メールサーバーの容量制限(10MBなど)に引っかかる前に警告を出す。
ファイル更新日時の取得
共有サーバー上のファイルが、今日更新された最新版かどうかを判定する。
読み取り専用属性の確認
設定ファイルを上書き保存しようとしてエラーになるのを未然に防ぐ。
現在パスの取得
相対パスで画像を読み込む際、意図しない場所を参照してしまうバグ防止。
ファイルの移動(Archive)
処理済みのデータファイルを「処理済みフォルダ」へ移動し、二重処理を防ぐ。
顧客別フォルダ作成
新規顧客が登録された瞬間、見積書・請求書用のフォルダセットを自動生成する。
空フォルダのお掃除
プロジェクト終了後に不要になった作業用ディレクトリを一括整理する。
デフォルト保存先の変更
ファイル選択ダイアログを開く際、ユーザーがよく使うフォルダを初期表示にする。
変換・判定・制御のVBA関数一覧
型変換、エラーチェック、条件分岐など。
単位付き数値の計算
手入力で「円」や「個」まで入れてしまう現場データを、計算可能な数値に戻す。
整数型への変換
小数点を含む入庫数を整数(箱数)に丸める際の型指定ミス防止。
行数のカウント
ビッグデータ(数万行)をループ処理する際のカウンタ変数の型定義。
日付型への強制変換
Webフォームから文字列として飛んできた予約希望日を、カレンダー処理に乗せる。
数値と文字の結合
エラーメッセージの中にエラーコード(数値)を埋め込んで表示させる。
金額欄の入力チェック
計算処理を行う前に、ユーザーが誤って文字を入力していないかバリデーションする。
日付妥当性チェック
無効な日付がデータベースに登録され、後続のバッチ処理が落ちるのを防ぐ。
未入力セルの判定
必須項目が埋まっていない行をスキップしたり、アラートを出したりする制御。
VLOOKUPのエラー判定
マスタにない商品コードが含まれていても、集計を止めずに「不明」として処理する。
1行での条件分岐
コードの行数を減らし、可読性を高めるための簡易的な条件判定(三項演算子)。
数値・その他(VBA関数一覧)
端数処理、乱数生成、UIダイアログなどの実用関数。
棚卸差異の分析
在庫の過不足どちらも「異常」として検知し、調査リストの上位に表示する。
時間の切り捨て処理
残業計算などで、15分未満を切り捨てる際の端数処理ロジック。
負数の切り捨て処理
プラスマイナスに関わらず、単純に「小数点をカット」したい場合の処理。
消費税の端数計算
Excelシート上のROUND関数(四捨五入)と結果がズレて、1円の誤差が出る大問題を防ぐ。
ランダム抽選機能
忘年会やキャンペーンで、公平に当選者を選ぶための抽選ロジック実装。
ユーザーへの確認
不可逆な処理(削除など)の前に、ワンクッション置いて事故を防ぐUI設計。
検索ワードの入力
セルに直接入力させるのではなく、対話形式で条件を指定させてフィルタリングする。
電卓アプリの起動
業務アプリから外部ツール(メモ帳やブラウザ)を直接呼び出し、作業をスムーズにする。
操作ログの記録
「誰が・いつ・どのマクロを実行したか」を隠しシートに記録し、監査対応する。
画面フリーズ回避
重い処理中にExcelが「応答なし」で白くなるのを防ぎ、ユーザーの不安を解消する。