■ VBA関数の一覧
Excel VBAには、あらかじめ用意された便利なVBA関数群があります。
これらVBA関数を使用することで、文字列や数値、日付を操作したり、書式を変更することが簡単に行えます。
ここではアルファベット順に関数を一覧化し、関数名から使用法を簡単に検索できるようにしました。
関数の使い方がわからないときは、ぜひこの一覧リストを参考にしてください。
"F" から始まる関数
■ FileAttr関数
[構文] FileAttr(filenum,retuntype)
[解説]
Openステートメントで開いているファイルのファイルモードを返します。
引数filenumには開いているファイルのファイル番号を、引数retuntypeには、32ビットシステムでは1を、16ビットシステムでは2を指定します。FileAttr関数が返す値は次のとおりです。
ファイル モード |
値 |
シーケンシャル入力モード (Input) |
1 |
シーケンシャル出力モード (Output) |
2 |
ランダム アクセス モード (Random) |
4 |
シーケンシャル出力モード (Append) |
8 |
バイナリ モード (Binary) |
32 |
■ FileDateTime関数
[構文] FileDateTime(pathname)
[解説] 引数pathnameで指定したファイルの、作成日時または最終修正日時を返します。
■ FileLen関数
[構文] FileLen(pathname)
[解説] 引数pathnameで指定したファイルのサイズをバイト数で返します。
■ Filter関数
[構文] Filter(sourcearray,match[,include[,compare]])
[解説]
引数sourcearrayの配列から、引数matchの文字列を含む配列、または含まない配列を返します。引数includeがTrueのときは含む配列を、Falseのときは含まない配列を返します。また引数compareには次の定数を指定できます。
数値 |
内容 |
0 |
テキストモードで比較します。大文字と小文字の区別をしません |
1 |
バイナリモードで比較をします |
2 |
Microsoft Accessでのみ使用できます |
[サンプル]
Sub Sample()
Dim TestArr(4) As String
Dim RetArr1 As Variant
Dim RetArr2 As Variant
TestArr(0) = "Microsoft Office Excel"
TestArr(1) = "Microsoft Office Word"
TestArr(2) = "Microsoft Windows XP"
TestArr(3) = "Microsoft Windows Vista"
TestArr(4) = "Microsoft Windows 7"
RetArr1 = Filter(TestArr, "Office", True)
RetArr2 = Filter(TestArr, "Office", False)
End Sub
このサンプルを実行すると、配列RetArr1には
"Microsoft Office Excel"と
"Microsoft Office Word"が、
配列RetArr2には
"Microsoft Windows XP"と
"Microsoft Windows Vista"と
"Microsoft Windows 7"が、
それぞれ格納されます。 |
■ Fix関数
[構文] Fix(num)
[解説]
引数numの小数部分を取り除いた整数を返します。引数numに負の数値を指定した場合、Fix関数は引数num以上の最小の整数を返します。
■ Format関数
[構文] Format(expression[,format[,firstdayofweek[,firstweekofyear]]])
[解説]
引数expressionで指定した式を引数formatで指定した形式で返します。引数formatに指定できる書式記号は次のとおりです。
記号 |
内容 |
# |
1桁の数値を返す。#で指定した桁に数値が存在しない場合、0が入らない |
0 |
1桁の数値を返す。0で指定した桁に数値が存在しない場合、0が入る |
, |
1000単位の区切り記号を返す |
. |
#または0と合わせて使い、小数点の位置を指定する |
% |
数値を100倍し、パーセント記号を付けて返す |
yy |
西暦年の下2桁を返す |
yyyy |
西暦年を4桁で返す |
m |
月の数値を返す。1桁の場合、先頭に0が付かない |
mm |
月の数値を返す。1桁の場合、先頭に0が付く |
d |
日の数値を返す。1桁の場合、先頭に0が付かない |
dd |
日の数値を返す。1桁の場合、先頭に0が付く |
/ |
日付の区切り位置を指定する |
aaa |
日本語の曜日の先頭1文字を返す |
aaaa |
日本語の曜日を3文字で返す |
ddd |
英語の曜日の先頭3文字を返す |
dddd |
英語の曜日を返す |
ww |
1年のうちで何週目に当たるかを表す数値を返す |
y |
1年のうちで何日目に当たるかを表す数値を返す |
q |
1年のうちで何番目の四半期に当たるかを表す数値を返す |
g |
年号を示すアルファベットを返す |
gg |
年号の先頭1文字を返す |
ggg |
年号を返す |
e |
和暦年を返す。1桁の場合、先頭に0が付かない |
ee |
和暦年を返す。1桁の場合、先頭に0が付く |
h |
時の数値を返す。1桁の場合、先頭に0が付かない |
hh |
時の数値を返す。1桁の場合、先頭に0が付く |
n |
分の数値を返す。1桁の場合、先頭に0が付かない |
nn |
分の数値を返す。1桁の場合、先頭に0が付く |
s |
秒の数値を返す。1桁の場合、先頭に0が付かない |
ss |
秒の数値を返す。1桁の場合、先頭に0が付く |
: |
時刻の区切り位置を指定する |
& |
ひとつの文字を返す。&で指定した位置に文字が存在しない場合、スペースが入らない |
@ |
ひとつの文字を返す。@で指定した位置に文字が存在しない場合、スペースが入る |
[サンプル]
Sub Sample()
Debug.Print Format(9999, "000,000円")
Debug.Print Format("ABCD", "@@@-@@@")
Debug.Print Format(#4/1/2013#, "ggge年m月d日")
Debug.Print Format(#4/1/2013#, "yyyy/mm/dd")
End Sub
このサンプルを実行すると、次の結果がイミディエイトウィンドウに出力されます。
009,999円
A-BCD
平成25年4月1日
2013/04/01 |
■ FormatCurrency関数
■ FormatDateTime関数
■ FormatNumber関数
■ FormatPercent関数
[解説]
FormatCurrency関数は通貨形式の文字列を、FormatDateTime関数は日付形式または時刻形式の文字列を、FormatNumber関数は数値形式の文字列を、FormatPercent関数はパーセント形式の文字列を、それぞれ返します。
[サンプル]
Sub Sample()
Debug.Print FormatCurrency(9999, 2, vbFalse, vbFalse, vbTrue)
Debug.Print FormatDateTime(#4/1/2013#, vbLongDate)
Debug.Print FormatNumber(9999, 2, vbFalse, vbFalse, vbTrue)
Debug.Print FormatPercent(0.1234, 2, vbFalse, vbFalse, vbTrue)
End Sub
このサンプルを実行すると、次の結果がイミディエイトウィンドウに出力されます。
\9,999.00
2013年4月1日
9,999.00
12.34% |
■ FreeFile関数
[構文] FreeFile(num)
[解説]
Openステートメントで指定する、使用可能なファイル番号を返します。引数numに0を指定すると1〜255の範囲のファイル番号を、引数numに1を指定すると256〜511の範囲のファイル番号を、それぞれ返します。引数numを省略すると0が指定されます。
[サンプル]
Sub Sample()
Dim num As Long
num = FreeFile
Open ThisWorkbook.Path & "\test.txt" For Input As num
'ファイルを操作する処理
Close num
End Sub
[サンプル]
このサンプルを実行すると、ブックと同じフォルダにあるtest.txtを使用可能なファイル番号で開きます。
■ FV関数
[構文] FV(rate,nper,pmt[,pv[,type]])
[解説]
定額の支払いを定期的に行い、利率が一定であると仮定して、投資の将来価値を返します。引数rateには利率を、引数nperには支払い回数の合計を、引数pmtには毎回の支払額を、引数pvには現在の投資額または将来支払うべき金額の総額を、引数typeには支払期日を、それぞれ指定します。
次は、"G"から始まるVBA関数について解説します。
|