EXCEL VBAコマンドとデータの型

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 ピーエムティー 財務関数:定期支払額を計算する
Print プリント データをファイルやウィンドウに出力
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下位) DecimalVariantのサブタイプ 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(ただし乱用注意)

Verified by MonsterInsights