A〜B(1〜20)
| コマンド | 読み方 | 簡単説明 |
|---|---|---|
| Abs | アブス | 数値の絶対値を返す |
| ActiveCell | アクティブセル | 現在選択されているセルを参照 |
| ActiveSheet | アクティブシート | 現在アクティブなシートを参照 |
| ActiveWorkbook | アクティブワークブック | 現在アクティブなブックを参照 |
| Add | アッド | 新しい要素やオブジェクトを追加 |
| AddComment | アッドコメント | セルにコメントを追加 |
| Address | アドレス | セルや範囲のアドレスを文字列で返す |
| And | アンド | 論理演算(かつ条件) |
| Application | アプリケーション | Excelアプリケーション全体を表す |
| Array | アレイ | 配列を作成する |
| Asc | アスク | 文字をASCIIコードに変換 |
| Atn | アタン | アークタンジェントを返す |
| Beep | ビープ | ビープ音を鳴らす |
| Boolean | ブーリアン | 真(True)か偽(False)を表す論理型 |
| BorderAround | ボーダーアラウンド | セル範囲の外枠に罫線を引く |
| Borders | ボーダーズ | セル範囲の罫線を操作 |
| ByRef | バイレフ | 引数を参照渡しする指定 |
| ByVal | バイバル | 引数を値渡しする指定 |
| CBool | シーブール | 値をBoolean型に変換 |
| CByte | シーバイト | 値をByte型に変換 |
C〜D(21〜40)
| コマンド | 読み方 | 簡単説明 |
|---|---|---|
| CCur | シーカー | 値をCurrency(通貨型)に変換 |
| CDate | シーデイト | 値を日付型に変換 |
| CDbl | シーダブル | 値をDouble型に変換 |
| Cells | セルズ | 行番号・列番号でセルを指定 |
| CInt | シーイント | 値をInteger型に変換 |
| CLng | シーロング | 値をLong型に変換 |
| Close | クローズ | ファイルやブックを閉じる |
| Columns | カラムズ | 列全体を参照 |
| ColumnWidth | カラムウィズ | 列幅を取得または設定 |
| Comment | コメント | セルのコメントオブジェクトを扱う |
| Copy | コピー | セルや範囲をコピー |
| Cos | コサイン | 数値の余弦(cos)を返す |
| Count | カウント | 要素やセルの数を返す |
| CreateObject | クリエイトオブジェクト | 外部アプリ・オブジェクトを生成 |
| CStr | シーストリング | 値を文字列に変換 |
| CurDir | カレントディレクトリ | 現在のフォルダパスを返す |
| Currency | カレンシー | 通貨型データ |
| CVar | シーバリアント | 値をVariant型に変換 |
| Date | デイト | 今日の日付を返す |
| DateAdd | デイトアッド | 日付に期間を加算する |
D〜E(41〜60)
| コマンド | 読み方 | 簡単説明 |
|---|---|---|
| DateDiff | デイトディフ | 2つの日付の差を返す |
| DatePart | デイトパート | 日付の一部(年・月・日など)を返す |
| DateSerial | デイトシリアル | 指定した年月日から日付を返す |
| DateValue | デイトバリュー | 文字列を日付に変換 |
| Day | デイ | 日付から「日」を返す |
| Debug.Print | デバッグプリント | イミディエイトウィンドウに出力 |
| Delete | デリート | セル・行・列・シートを削除 |
| Dim | ディム | 変数を宣言 |
| Dir | ディア | ファイルやフォルダを検索 |
| Do…Loop | ドゥループ | 繰り返し処理を行う |
| Double | ダブル | 倍精度実数型 |
| End | エンド | 範囲の端を参照(例:End(xlDown)) |
| End If | エンドイフ | If文の終わりを示す |
| Environ | エンヴァイロン | 環境変数の値を返す |
| EOF | イーオーエフ | ファイルの終端を確認 |
| Eqv | エクイヴ | 論理演算(等価) |
| Erase | イレース | 配列を初期化 |
| Err | エラー | エラー情報を取得 |
| Error | エラー | エラーメッセージを返す |
| Exit | イグジット | ループやSub/Functionを途中終了 |
F〜G(61〜80)
| コマンド | 読み方 | 簡単説明 |
|---|---|---|
| FileAttr | ファイルアトリビュート | ファイルの属性情報を返す |
| FileCopy | ファイルコピー | ファイルをコピーする |
| FileDateTime | ファイルデイトタイム | ファイルの更新日時を返す |
| FileDialog | ファイルダイアログ | ファイル選択ダイアログを開く |
| FileLen | ファイルレン | ファイルサイズを返す |
| Filter | フィルター | 配列を条件で抽出 |
| Fix | フィックス | 小数点以下を切り捨てて整数を返す |
| For…Next | フォーネクスト | 繰り返し処理を行う |
| Format | フォーマット | 値を指定した書式で文字列に変換 |
| FormatCurrency | フォーマットカレンシー | 通貨形式に変換 |
| FormatDateTime | フォーマットデイトタイム | 日付や時刻を整形 |
| FormatNumber | フォーマットナンバー | 数値を整形 |
| FormatPercent | フォーマットパーセント | パーセント形式に変換 |
| FreeFile | フリーファイル | 使用可能なファイル番号を返す |
| Function | ファンクション | 関数を定義する |
| Get | ゲット | ファイルからデータを読み込む |
| GetAttr | ゲットアトリビュート | ファイルの属性を返す |
| GetObject | ゲットオブジェクト | 既存の外部アプリやオブジェクトを取得 |
| GoTo | ゴートゥ | 指定行へジャンプ |
| Hex | ヘックス | 数値を16進数文字列に変換 |
H〜I(81〜100)
| コマンド | 読み方 | 簡単説明 |
|---|---|---|
| Hour | アワー | 時刻から「時」を返す |
| Hyperlinks.Add | ハイパーリンクス アッド | セルにハイパーリンクを追加 |
| If…Then…Else | イフゼンエルス | 条件分岐を行う |
| IIf | アイイフ | 条件に応じて値を返す(即時If関数) |
| Imp | インプ | 論理演算(含意) |
| Input | インプット | ファイルからデータを読み込む |
| InputBox | インプットボックス | ユーザーに入力を促すダイアログを表示 |
| InStr | インストラ | 文字列内で部分文字列を検索し位置を返す |
| InStrRev | インストラレヴ | 文字列内で部分文字列を後方から検索 |
| Int | イント | 数値の整数部分を返す |
| Integer | インテジャー | 整数型データ |
| IsArray | イズアレイ | 値が配列かどうか判定 |
| IsDate | イズデイト | 値が日付かどうか判定 |
| IsEmpty | イズエンプティ | 変数が未初期化かどうか判定 |
| IsError | イズエラー | 値がエラーかどうか判定 |
| IsMissing | イズミッシング | 引数が省略されたか判定 |
| IsNull | イズヌル | 値がNullかどうか判定 |
| IsNumeric | イズニューメリック | 値が数値かどうか判定 |
| Items (Dictionary) | アイテムズ | Dictionary内のすべての値を取得 |
| Input # | インプットシャープ | ファイル番号から1行読み込む |
J〜L(101〜120)
| コマンド | 読み方 | 簡単説明 |
|---|---|---|
| Join | ジョイン | 配列要素を区切り文字で結合して文字列にする |
| Kill | キル | 指定ファイルを削除する |
| LBound | エルバウンド | 配列の下限インデックスを返す |
| LCase | エルケース | 文字列を小文字に変換 |
| Left | レフト | 文字列の左端から指定文字数を返す |
| Len | レン | 文字列の長さを返す |
| Let | レット | 変数に値を代入(省略可能) |
| Like | ライク | 文字列パターン一致を判定 |
| Line Input | ラインインプット | ファイルから1行読み込む |
| Load | ロード | フォームやモジュールを読み込む |
| Loc | ロック | ファイル内の現在位置を返す |
| Lock | ロック | ファイルの範囲をロックする |
| LOF | エルオーエフ | ファイルサイズ(バイト数)を返す |
| Log | ログ | 自然対数を返す |
| Loop | ループ | Do Loopの終わりを示す |
| LTrim | エルトリム | 文字列の左端の空白を削除 |
| LSet | エルセット | 文字列や変数に左寄せで代入 |
| Like Operator | ライクオペレーター | ワイルドカードを使った文字比較 |
| Long | ロング | 長整数型データ |
| LCase$ | エルケースドル | LCaseの高速版(文字列型) |
M〜N(121〜140)
| コマンド | 読み方 | 簡単説明 |
|---|---|---|
| MacroOptions | マクロオプションズ | マクロのオプション設定を行う |
| Match | マッチ | 指定値の位置を検索して返す |
| Max | マックス | 範囲や配列の最大値を返す |
| Mid | ミッド | 文字列の任意位置から部分文字列を取得 |
| Minute | ミニット | 時刻から「分」を返す |
| MkDir | メイクディア | 新しいフォルダを作成する |
| Mod | モッド | 割り算の余りを返す |
| Month | マンス | 日付から「月」を返す |
| MonthName | マンスネーム | 月名を返す(例: January) |
| MsgBox | メッセージボックス | メッセージボックスを表示 |
| Name | ネーム | ファイルやフォルダの名前を変更する |
| Next | ネクスト | Forループの終わりを示す |
| Now | ナウ | 現在の日付と時刻を返す |
| Not | ノット | 論理演算(否定) |
| Nothing | ナッシング | オブジェクトが存在しないことを表す |
| Null | ヌル | データが存在しないことを示す |
| NumberFormat | ナンバーフォーマット | セルの表示形式を設定する |
| NumberFormatLocal | ナンバーフォーマットローカル | ローカル表記の表示形式を設定する |
| Nz (Access系) | エヌズィー | Nullを他の値に置き換える(Access VBA) |
| NPer | エヌパー | 財務関数: 期間数を計算する |
O〜P(141〜160)
| コマンド | 読み方 | 簡単説明 |
|---|---|---|
| Oct | オクト | 数値を8進数の文字列に変換 |
| Offset | オフセット | 基準セルから行列方向にずらしたセルを参照 |
| On Error | オンエラー | エラー発生時の処理を指定 |
| Open | オープン | ファイルを開く |
| Option Base | オプションベース | 配列の下限インデックスを指定(0または1) |
| Option Explicit | オプションエクスプリシット | 変数宣言を必須にする |
| Option Private Module | オプションプライベートモジュール | モジュールを外部に公開しない |
| Or | オア | 論理演算(または) |
| Output | アウトプット | ファイルに書き込み用で開く |
| Pmt | ピーエムティー | 財務関数:定期支払額を計算する |
| プリント | データをファイルやウィンドウに出力 | |
| Property Get | プロパティゲット | カスタムプロパティの取得を定義 |
| Property Let | プロパティレット | カスタムプロパティの代入を定義 |
| Property Set | プロパティセット | カスタムプロパティにオブジェクトを代入 |
| Put | プット | ファイルにデータを書き込む |
| QBColor | キュービーカラー | 標準16色を色番号で返す |
| Quit | クイット | アプリケーションを終了する |
| Randomize | ランダマイズ | 乱数のシード値を設定 |
| Range | レンジ | セル範囲を参照 |
| RmDir | リムディア | フォルダを削除する |
R〜S(161〜180)
| コマンド | 読み方 | 簡単説明 |
|---|---|---|
| Rnd | ランド | 0以上1未満の乱数を返す |
| Round | ラウンド | 数値を四捨五入する |
| Rows | ロウズ | 行全体を参照 |
| RTrim | アールトリム | 文字列の右端の空白を削除 |
| Save | セーブ | アクティブブックを保存 |
| SaveAs | セーブアズ | 名前を付けてブックを保存 |
| Second | セカンド | 時刻から「秒」を返す |
| Seek | シーク | ファイルの読み書き位置を取得または設定 |
| Select | セレクト | セルやシートを選択する |
| Select Case | セレクトケース | 複数条件分岐を行う |
| SendKeys | センドキーズ | キーボード入力を送信する |
| Set | セット | オブジェクト変数に参照を代入 |
| Shell | シェル | 外部プログラムを実行する |
| Sheets | シーツ | ワークシートコレクションを参照 |
| ShrinkToFit | シュリンクトゥフィット | セルに文字を縮小して収める |
| Sin | サイン | 数値の正弦(sin)を返す |
| Sgn | シグン | 数値の符号を返す(-1,0,1) |
| Sleep | スリープ | 一時的に処理を停止する |
| Space | スペース | 指定数の空白文字を返す |
| Split | スプリット | 文字列を区切り文字で分割して配列にする |
S〜T(181〜200)
| コマンド | 読み方 | 簡単説明 |
|---|---|---|
| Sqr | スクエア | 数値の平方根を返す |
| Str | ストリング | 数値を文字列に変換 |
| String | ストリング | 指定した文字を繰り返した文字列を作成 |
| StrComp | ストリングコンプ | 文字列を比較し結果を返す |
| Sub | サブ | サブルーチン(マクロ手続き)を定義 |
| Switch | スイッチ | 複数条件に応じた値を返す |
| Tan | タン | 数値の正接(tan)を返す |
| Text | テキスト | セルの内容を文字列として取得 |
| Then | ゼン | If文の条件が真の場合の処理を示す |
| Time | タイム | 現在の時刻を返す |
| TimeSerial | タイムシリアル | 時分秒から時刻を返す |
| TimeValue | タイムバリュー | 文字列を時刻に変換 |
| Timer | タイマー | 0時からの経過秒数を返す |
| Trim | トリム | 文字列の前後の空白を削除 |
| True | トゥルー | 真を表す論理値 |
| TypeName | タイプネーム | 変数やオブジェクトのデータ型を返す |
| UBound | ユーバウンド | 配列の上限インデックスを返す |
| UCase | ユーケース | 文字列を大文字に変換 |
| Val | バル | 数値を表す文字列を数値型に変換 |
| While…Wend | ホワイル ウェンド | 条件付き繰り返し処理 |
VBAの主要データ型 早見表
| 種類 | 型名(宣言名) | 別名/補足 | サイズ | 範囲/精度 | 既定値 | 主な用途・備考 | 宣言/例 |
|---|---|---|---|---|---|---|---|
| 整数 | Byte | なし | 1 バイト | 0–255 | 0 | 小さな正整数・バイナリ処理 | Dim b As Byte: b = 200 |
| 整数 | Boolean | なし | 2 バイト | False=0 / True=非0 | False | 真偽値。内部は整数 | Dim f As Boolean: f = (3>2) |
| 整数 | Integer | なし | 2 バイト | -32,768–32,767 | 0 | 古い16bit互換。桁あふれしやすいので通常はLong推奨 | Dim i As Integer |
| 整数 | Long | Long Integer | 4 バイト | -2,147,483,648–2,147,483,647 | 0 | 標準の整数型。行番号やループに最適 | Dim n As Long: n = 1000000 |
| 整数 | LongLong | VBA7(64bit/32bit共) | 8 バイト | 約 -9.22e18–9.22e18 | 0 | 64bit整数。大きなID/ファイルサイズ等 | #If VBA7 Then Dim x As LongLong #End If |
| ポインタ | LongPtr | 32bit=4B / 64bit=8B | 4 or 8 | 環境依存 | 0 | APIハンドル/ポインタ。Declare PtrSafeで使用 | #If VBA7 Then Dim h As LongPtr #End If |
| 実数 | Single | 単精度浮動小数 | 4 バイト | 約 ±1.4E−45–±3.4E38(7桁程度) | 0 | 速度重視/メモリ節約 | Dim s As Single: s = 3.14 |
| 実数 | Double | 倍精度浮動小数 | 8 バイト | 約 ±4.94E−324–±1.79E308(15桁程度) | 0 | 数値計算の標準 | Dim d As Double: d = 1/3 |
| 固定小数 | Currency | 固定小数点×10,000 | 8 バイト | ±922,337,203,685,477.5807(4桁固定) | 0 | 金額計算に最適(丸め誤差に強い) | Dim yen As Currency: yen = 12345.67 |
| 日付 | Date | 日付/時刻 | 8 バイト | 100/1/1–9999/12/31、時刻は日の小数 | 0(日付0=1899/12/30) | 日付時刻。シリアル値 | Dim dt As Date: dt = #2025/9/14 7:00:00# |
| 文字列 | String(可変長) | なし | 可変 | 0文字~制限まで | “” | ふつうの文字列 | Dim s As String: s = "こんにちは" |
| 文字列 | String * n(固定長) | 固定長 | n バイト | ちょうど n 文字 | n個のNUL | レコード/ファイルI/O向き | Dim f As String * 10 |
| 汎用 | Variant | なんでも箱 | 16 バイト+ | 動的(数値/文字/日付/配列/オブジェクト参照等) | Empty | とりあえず入る。型安全性は下がる | Dim v As Variant: v = "ABC" |
| 汎用(Variant下位) | Decimal(Variantのサブタイプ) | 96bit固定小数 | 16 バイト相当 | 約±7.9228E28、最大28桁 | 0 | 高精度小数。Dim x As Decimalは不可、CDecでVariantに格納 |
Dim v As Variant: v = CDec("123.456") |
| オブジェクト | Object | 後期バインディング | 4 or 8 | 参照 | Nothing | なんでもオブジェクト参照 | Dim o As Object: Set o = CreateObject("Scripting.Dictionary") |
| オブジェクト | 具体型(Range等) |
早期バインディング | 4 or 8 | 参照 | Nothing | IntelliSenseや型チェック有利 | Dim r As Range: Set r = Sheet1.Range("A1") |
| 配列 | (型)() | 動的/固定長 | 要素数×型サイズ | — | 要素未割当=未初期化 | 動的はReDimで拡張可能 |
Dim a() As Long: ReDim a(0 To 9) |
| 列挙 | Enum | 論理名定数 | 2 or 4 | — | 0 | 可読性向上 | Enum ColorCode: Red=1: Blue=2: End Enum |
| ユーザー定義 | Type … End Type | UDT | フィールド合計 | — | フィールド既定 | 複合レコード構造 | Type Person: Name As String: Age As Long: End Type |
Variantの特別な値(エラー対策でよく使う)
| 値 | 意味 | 判定関数 |
|---|---|---|
| Empty | 未初期化(長さ0・数式未設定) | IsEmpty(v) |
| Null | データなし(DBのNULL) | IsNull(v) |
| Missing | 省略されたOptional引数 | IsMissing(x)(引数がVariantのときのみ) |
| Error | エラー値(CVErr(xlErrNA)など) |
IsError(v) |
よくある“落とし穴”と実務Tips
-
Integerは使わない:ループ・行数・配列添字などはLong推奨(速度もLongが有利)。
-
金額はCurrency:Doubleは丸め誤差が出る。金額・税計算はCurrencyか必要に応じDecimal(Variant)。
-
Decimalは宣言できない:
Dim x As DecimalはVBAでは不可(Variant扱い)。Dim v As Variant: v = CDec(… )とする。 -
Dateの既定値は0(=1899/12/30)。未設定チェックは
If dt = 0 Then …や別フラグで。 -
64bit対応:APIやハンドルはLongPtr、大きい整数はLongLong。宣言は
#If VBA7 Then … #End Ifで分岐。 -
固定長Stringは右側がスペースやNULで詰められやすい。トリムして扱う。
-
配列の次元と下限:
Option Base 0/1に注意。LBound/UBoundで安全に。 -
Variant多用は慎重に:可読性・速度・バグ混入のリスク。型を決められるなら明示型で。
型変換・型情報 代表的な関数
| 目的 | 関数 | 例 |
|---|---|---|
| 数値へ | CByte, CInt, CLng, CLngLng, CSng, CDbl |
n = CLng("100") |
| 通貨へ | CCur |
yen = CCur("1234.5") |
| 日付へ | CDate |
dt = CDate("2025/9/14 7:00") |
| 文字列へ | CStr |
s = CStr(123) |
| Variant(Decimal)へ | CDec |
v = CDec("0.1") |
| 真偽へ | CBool |
f = CBool(1) |
| 型名取得 | TypeName |
Debug.Print TypeName(v) |
| 型コード | VarType |
If VarType(v)=vbDate Then … |
使い分けの目安(超簡易チャート)
-
反復・行/列番号 → Long
-
金額/税/為替 → Currency(高精度が必要なら
Variant + CDec) -
実数計算・統計 → Double
-
文字列 → String(固定幅レコードなら
String * n) -
日付・時刻 → Date
-
API/ハンドル → LongPtr(VBA7)
-
なんでも一旦入れたい/型が可変 → Variant(ただし乱用注意)

