VBA関数一覧

VBAには多くの関数が用意されています。
実際に全てを使用する事はありませんがどのような関数があるか一度目をとおしておくとよいでしょう

文字列操作
型変換
データ判定
日時(時刻)
配列
ファイル操作
数学
分岐
その他

 

文字列操作
Asc整数型 (Integer) の値を返します。指定した文字列内にある先頭の文字の文字コードを返す変換関数です
AscB最初の文字の文字コードではなく、最初のバイト データを返します
AscWUnicode 文字セットの文字を返します
Chr指定した文字コードに対応する文字を示す文字列型 (String) の値を返します
ChrB文字ではなく、1 バイトを返します
ChrWUnicode 文字セットの文字を含む文字列型 (String) で文字を返します
LCaseアルファベットの大文字を小文字に変換する文字列処理関数です
Leftバリアント型 (内部処理形式 String の Variant) の値を返します。文字列の左端から指定した文字数分の文字列を返します
LeftB指定したバイト数分の文字列を取り出します
Len指定した文字列の文字数または指定した変数に必要なバイト数を表す長整数型 (Long) の値を返します
LenB指定した文字列のバイト数を返します
LTrim指定した文字列から先頭のスペースを削除した文字列を表すバリアント型 (内部処理形式 String の Variant) の値を返します
Format式を指定した書式に変換し、その文字列を示すバリアント型 (内部処理形式 String の Variant) の値を返します
FormatCurrencyシステムの [コントロール パネル] で定義されている書式を使って通貨形式の文字列を返す文字列処理関数です
FormatDateTime日付形式または時刻形式の文字列を返す文字列処理関数です
FormatNumber数値形式の文字列を返します
FormatPercent100 で乗算したパーセント形式の式にパーセント記号 (%) を付加して返します
InStrバリアント型 (内部処理形式 Long の Variant) の値を返します。ある文字列 (string1) の中から指定した文字列 (string2) を検索し、最初に見つかった文字位置 (先頭からその位置までの文字数) を返す文字列処理関数です
InStrRevある文字列 (string1) の中から指定された文字列 (string2) を最後の文字位置から検索を開始し、最初に見つかった文字位置 (先頭からその位置までの文字数) を返す文字列処理関数です
Midバリアント型 (内部処理形式 String の Variant) の値を返します。文字列から指定した文字数分の文字列を返します
MidB指定したバイト数分の文字列を取り出します
Replace指定された文字列の一部を、別の文字列で指定された回数分で置換した文字列を返します
Rightバリアント型 (内部処理形式 String の Variant) の値を返します
文字列の右端から指定した文字数分の文字列を返します
RightB指定したバイト数分の文字列を取り出します
RTrim指定した文字列から末尾のスペース (RTrim)を削除した文字列を表すバリアント型 (内部処理形式 String の Variant) の値を返します
Spaceバリアント型 (内部処理形式 String の Variant) の値を返します
指定した数のスペースからなる文字列を返す文字列処理関数です
Strバリアント型 (内部処理形式 String の Variant) の値を返します
数式の値を文字列で表した値 (数字) で返す文字列処理関数です
StrComp文字列比較の結果を表すバリアント型 (内部処理形式 String の Variant) の値を返します
StrConv変換した文字列をバリアント型 (内部処理形式 String の Variant) で返します
Stringバリアント型 (内部処理形式 String の Variant) の値を返します
指定した文字コード (ASCII またはシフト JIS コード) の示す文字、または文字列の先頭文字を、指定した文字数だけ並べた文字列を返す文字列処理関数です
StrReverse指定された文字列の文字の並びを逆にした文字列を返します
Trim指定した文字列から先頭と末尾の両方のスペースを削除した文字列を表すバリアント型 (内部処理形式 String の Variant) の値を返します
UCaseバリアント型 (内部処理形式 String の Variant) の値を返します。指定したアルファベットの小文字を大文字に変換する文字列処理関数です
Val指定した文字列に含まれる数値を適切なデータ型に変換して返します

 

型変換
CBool

ブール型 (Boolean)のデータ型に変換します
任意の有効な文字列または数値

CByteバイト型 (Byte)のデータ型に変換します
CCur通貨型 (Currency)のデータ型に変換します
CDate

日付型 (Date)のデータ型に変換します
任意の有効な日付

CDbl倍精度浮動小数点数型 (Double)のデータ型に変換します
CDec10 進型 (Decimal)のデータ型に変換します
CInt

整数型 (Integer)のデータ型に変換します
-32,768 ~ 32,767
小数部分は丸められます

CLng長整数型 (Long)のデータ型に変換します
-2,147,483,648 ~ 2,147,483,647
小数部分は丸められます
CLngLng-9,223,372,036,854,775,808から9,223,372,036,854,775,807
小数点以下は丸められます(64 ビット プラットフォームのみで有効)
CLngPtr32ビットのシステムでは-2,147,483,648~2,147,483,647、
64ビットのシステムでは-9,223,372,036,854,775,808~9,223,372,036,854,775,807
32ビットと64ビットのどちらのシステムでも、小数部分は丸められます
CSng単精度浮動小数点数型 (Single)のデータ型に変換します
CStr文字列型 (String)のデータ型に変換します
CStrの戻り値は引数 expression により異なります
CVarバリアント型 (Variant)のデータ型に変換します
数値の場合は倍精度浮動小数点数型の範囲と同じ
数値以外の場合は、文字列型の範囲と同じ
CVErrユーザーが指定した数値 (エラー番号) を、バリアント型 (Variant) の内部処理形式であるエラー値に変換した値を返す変換関数です

 

データ判定
IsArray変数が配列であるかどうかを調べ、結果をブール型 (Boolean) で返します
IsDate式を日付に変換できるかどうかを調べ、結果をブール型 (Boolean) で返します
IsEmpty変数が Empty 値かどうかを調べ、結果をブール型 (Boolean) で返します
IsError式がエラー値かどうかを調べ、結果をブール型 (Boolean) で返します
IsMissingプロシージャに省略可能なバリアント型 (Variant) の引数が渡されたかどうかを調べ、結果をブール型 (Boolean) で返します
IsNull式に Null 値が含まれているかどうかを調べ、結果をブール型 (Boolean) で返します
IsNumeric式が数値として評価できるかどうかを調べ、結果をブール型 (Boolean) で返します
IsObject識別子がオブジェクト変数を表しているかどうかを示すブール型 (Boolean) の値を返します
TypeName変数に関する情報を提供する文字列型 (String) の文字列を返します
VarType変数の内部処理形式を表す整数型 (Integer) の値を返します

 

日付(時刻)
Date現在のシステムの日付を含むバリアント型 (内部処理形式 Date の Variant) の値を返します
DateAdd指定された時間間隔を加算した日付をバリアント型 (内部処理形式 String の Variant) の値で返します
DateDiff2 つの指定した日付の時間間隔を表すバリアント型 (内部処理形式 Date の Variant) の値を指定します
DatePart日付の指定した部分を含むバリアント型 (内部処理形式 Integer の Variant) の値を返します
DateSerial引数に指定した年、月、日に対応するバリアント型 (内部処理形式 Date の Variant) の値を返す関数です
DateValue日付を表すバリアント型 (内部処理形式 Date の Variant) の値を返します
Day月の何日かを表す 1~31 の範囲の整数を表すバリアント型 (内部処理形式 Integer の Variant) の値を返します
Hour1 日の時刻を表す 0~23 の範囲の整数を表すバリアント型 (内部処理形式 Integer の Variant) の値を返します
Minute時刻の分を表す 0~59 の範囲の整数を表すバリアント型 (内部処理形式 Integer の Variant) の値を返します
Month1 年の何月かを表す 0~12 の範囲の整数を表すバリアント型 (内部処理形式 Integer の Variant) の値を返します
MonthName指定された月を表す文字列を返します
Nowコンピュータのシステムの日付と時刻の設定に基づいて、現在の日付と時刻を表すバリアント型 (内部処理形式 Date の Variant) の値を返します
Second時間の秒を表す 0~59 の範囲の整数を表すバリアント型 (内部処理形式 Integer の Variant) の値を返します
Time現在のシステムの時刻を表すバリアント型 (内部処理形式 Date の Variant) の値を返します
Timer午前 0 時 (真夜中) から経過した秒数を表す単精度浮動小数点数型 (Single) の値を返します
TimeSerial引数で指定した時、分、および秒に対応する時刻を含むバリアント型 (内部処理形式 Dateの Variant) の値を返します
TimeValue時刻を表すバリアント型 (内部処理形式 Date の Variant) の値を返します
Weekday何曜日であるかを表す整数を表すバリアント型 (内部処理形式 Integer の Variant) の値を返します
WeekdayName指定された曜日を表す文字列を返します
Year年を表すバリアント型 (内部処理形式 Integer の Variant) の値を返します

 

配列

Array

配列が格納されたバリアント型 (Variant) の値を返します
Filter指定されたフィルタ条件に基づいた文字列配列のサブセットを含むゼロ ベースの配列を返します
Join配列に含まれる各要素の内部文字列を結合して作成される文字列を返します
LBound配列の指定された次元で使用できる最小の添字を、長整数型 (Long)の値で返します
Split各要素ごとに区切られた文字列から 1 次元配列を作成し、返します
UBound配列の指定された次元で使用できる添字の最大値を、長整数型 (Long) の値で返します

 

ファイル操作
CurDir指定したドライブの現在のパスを表すバリアント型 (内部処理形式 String の Variant) の値を返します
Dir指定したパターンやファイル属性と一致するファイルまたはフォルダの名前を表す文字列型 (String) の値を返します。ドライブのボリューム ラベルも取得できます
EOFランダム アクセス モード (Random) またはシーケンシャル入力モード (Input) で開いたファイルの現在位置がファイルの末尾に達している場合、ブール型 (Boolean) の値の真 (True) を含む整数型 (Integer) の値を返します
FileAttrOpen ステートメントで開いたファイルのファイル モードを示す長整数型 (Long) の値を返します
FileDateTime指定したファイルの作成日時または最後に修正した日時を示すバリアント型 (内部処理形式 Date の Variant) の値を返します
FileLenファイルのサイズをバイト単位で表す長整数型 (Long) の値を返します
FreeFile使用可能なファイル番号を整数型 (Integer) の値で返すファイル入出力関数です
GetAttrファイルまたはフォルダの属性を表す整数型 (Integer) の整数を返します
Inputシーケンシャル入力モード (Input) またはバイナリ モード (Binary) で開いたファイルから指定した文字数の文字列を読み込み、文字列型 (String) の値を返します
Loc開いたファイル内の現在の読み込み位置または書き込み位置を示す長整数型 (Long) の値を返します
LOFOpen ステートメントを使用して開いたファイルの長さをバイト単位で示す長整数型 (Long) の値を返します
SeekOpen ステートメントを使用して開いたファイルの現在の読み込み位置または書き込み位置を示す長整数型 (Long) の値を返します
SpcPrint # ステートメントまたは Print メソッドと共に使用し、指定した数のスペースを挿入するファイル入出力関数です
TabPrint # ステートメントまたは Print メソッドと共に使用し、次の文字の出力位置を移動するファイル入出力関数です

 

数学
Abs引き渡した数値の絶対値を同じデータ型で返します
Atn指定した数値のアークタンジェントを倍精度浮動小数点数型 (Double) で返します
Cos指定した角度のコサインを倍精度浮動小数点数型 (Double) で返します
DDB倍精度浮動小数点数型 (Double) の値を返します。倍率法などの指定した方法を使って特定の期における資産の減価償却費を返します
Exp指数関数 (e を底とする数式のべき乗) を計算する数値演算関数です
Fix指定した数値の整数部分を返します
FV倍精度浮動小数点数型 (Double) の値を返します。定額の支払いを定期的に行い、利率が一定であると仮定して、投資の将来価値を返します
Hex指定した値を 16 進数で表した文字列型 (String) を返します
Int指定した数値の整数部分を返します
IPmt倍精度浮動小数点数型 (Double) の値を返します。定額の支払いを定期的に行い、利率が一定であると仮定して、投資期間内の指定した期に支払う金利を返します
IRR倍精度浮動小数点数型 (Double) の値を返します。一連の定期的なキャッシュ フロー (支払いと収益) に対する内部利益率を返します
Log倍精度浮動小数点数型 (Double) の自然対数を返す数値演算関数です
MIRR倍精度浮動小数点数型 (Double) の値を返します。一連の定期的なキャッシュ フロー (支払いと収益) に基づいて、修正内部利益率を返します
NPer倍精度浮動小数点数型 (Double) の値を返します。定額の支払いを定期的に行い、利率が一定であると仮定して、投資に必要な期間を返します
NPV倍精度浮動小数点数型 (Double) の値を返します。一連の定期的なキャッシュ フロー (支払いと収益) と割引率に基づいて、投資の正味現在価値を返します
Oct引数に指定した値を 8 進数で表すバリアント型 (内部処理形式 String の Variant) の値を返します
Pmt倍精度浮動小数点数型 (Double) の値を返します。定額の支払いを定期的に行い、利率が一定であると仮定して、投資に必要な定期支払額を返します
PPmt倍精度浮動小数点数型 (Double) の値を返します。定額の支払いを定期的に行い、利率が一定であると仮定して指定した期に支払われる元金を返します
PV倍精度浮動小数点数型 (Double) の値を返します。定額の支払いを定期的に行い、利率が一定であると仮定して、投資の現在価値を返します
Rate倍精度浮動小数点数型 (Double) の値を返します。投資期間を通じての利率を返します
Rnd単精度浮動小数点数型 (Single) の乱数を返します
Round指定された小数点位置で丸めた数値を返します
Sgn引数に指定した値の符号をバリアント型 (内部処理形式 Integer の Variant) の値で返す数値演算関数です
Sin指定した角度のサインを倍精度浮動小数点数型 (Double) の値で返す数値演算関数です
SLN倍精度浮動小数点数型 (Double) の値を返します。定額法を用いて、資産の 1 期当たりの減価償却費を返します
Sqr数式の平方根を倍精度浮動小数点数型 (Double) の値で返す数値演算関数です
SYD倍精度浮動小数点数型 (Double) の値を返します。定額逓減法を使って、指定した期の減価償却費を返します
Tan指定した角度のタンジェントを倍精度浮動小数点数型 (Double) の値で返す数値演算関数です

 

分岐
IIf式の評価結果によって、2 つの引数のうち 1 つを返します
Choose引数の一覧から値を選択し、返します
Switch式のリストを評価し、リストの中で真 (True) となる最初の式に関連付けられたバリアント型 (Variant) の値または式を返します

 

その他
CallByName指定した オブジェクトのメソッドの実行、あるいはプロパティの値の取得や設定を行います
CommandMicrosoft Visual Basic または Visual Basic で開発した実行可能なプログラムを起動させるために使用するコマンド ラインの引数の部分を返します。Visual Basic の Commandは Microsoft Office アプリケーションでは使用できません
CreateObjectActiveX オブジェクトへの参照を作成して返します
DoEvents発生したイベントがオペレーティング システムによって処理されるように、プログラムで占有していた制御をオペレーティング システムに渡すフロー制御関数です
Environオペレーティング システムの環境変数に割り当てられた文字列型 (String) を返します。Macintosh では使用できません
Error指定したエラー番号に対応するエラー メッセージを返します
GetAllSettingsMicrosoft Windows のレジストリにあるアプリケーションの項目、または Macintosh の場合にはアプリケーションの初期設定ファイルから、SaveSetting ステートメントを使って作成された項目内のすべてのキー設定および各キー設定に対応する値のリストを返します
GetObjectファイルから取得した ActiveX オブジェクトへの参照を返します
GetSettingMicrosoft Windows のレジストリにあるアプリケーションの項目、または Macintosh の場合にはアプリケーションの初期設定ファイルから、キー設定値を返します
IMEStatus整数型 (Integer) の値を返します。IME の現在の状態を返します
InputBox文字列型 (String) の値を返します。ダイアログ ボックスにメッセージとテキスト ボックスを表示し、文字列が入力されるか、またはボタンがクリックされると、テキスト ボックスの内容を返します
MacIDMacintosh でのみ使用する関数です。4 個の連続した文字定数を Dir、Kill、Shell、および AppActivateで使う値に変換します
MacScriptAppleScript のスクリプトを実行します。Macintosh (漢字 Talk7 以降) で有効です
MsgBox整数型 (Integer) の値を返します。ダイアログ ボックスにメッセージを表示し、ボタンがクリックされるのを待って、どのボタンがクリックされたのかを示す値を返します
Partitionある数値が、区切られた複数の範囲のうち、どの範囲に含まれるかを示すバリアント型 (内部処理形式 String の Variant) の文字列を返します
QBColor指定した色番号に対応する RGB コードを表す長整数型 (Long) の値を返します
RGB色の RGB 値を表す長整数型 (Long) の値を返します
Shell実行可能プログラムを実行し、実行が完了するとプログラムのタスク ID を示すバリアント型 (内部処理形式 Double の Variant) の値を返します。プログラムの実行に問題が発生した場合は、0 を返します