■ VBA関数の一覧
Excel VBAには、あらかじめ用意された便利なVBA関数群があります。
これらVBA関数を使用することで、文字列や数値、日付を操作したり、書式を変更することが簡単に行えます。
ここではアルファベット順に関数を一覧化し、関数名から使用法を簡単に検索できるようにしました。
関数の使い方がわからないときは、ぜひこの一覧リストを参考にしてください。
"D" から始まる関数
■ Date 関数
[構文] Date
[解説] 現在の日付を文字列で返します。引数はありません。
[サンプル]
Sub SampleDate()
Debug.Print Date
End Sub
このサンプルを実行すると、現在の日付をイミディエイトウィンドウに出力します。 |
■ DateAdd 関数
[構文] DateAdd(interval, number, date)
[解説]
指定された時間を加算した日付を返します。intervalは追加する日時の間隔を表す文字列を指定します。numberは増減させる日時を指定します。将来の日時を取得するには正の数を、過去の日時を取得するには負の数を指定します。dateは操作の対象となる日時を指定します。
引数intervalの設定値は次のとおりです。
yyyy |
yyyy |
w |
週日 |
q |
四半期 |
ww |
週 |
m |
月 |
h |
時 |
y |
年間通算日 |
n |
分 |
d |
日 |
s |
秒 |
[サンプル]
Sub SampleDateAdd()
Debug.Print DateAdd("d", 1, Date)
Debug.Print DateAdd("m", 1, Date)
Debug.Print DateAdd("yyyy", 1, Date)
End Sub
このサンプルを実行すると、現在の日付の1日後、1か月後、1年後をそれぞれイミディエイトウィンドウに出力します。 |
■ DateDiff 関数
[構文] DateDiff(interval, date1, date2[, firstdayofweek][, firstweekofyear])
[解説]
2つの日時の間隔を返します。intervalには、date1とdate2の間隔を表す文字列を指定します。date1とdate2には、操作の対象となる2つの日時を指定します。
[firstdayofweekとfirstweekofyearは省略可能です。firstdayofweekは週の始まりの曜日をfirstweekofyearは年度の第1週をそれぞれ指定します]
引数intervalの設定値は次のとおりです。
yyyy |
yyyy |
w |
週日 |
q |
四半期 |
ww |
週 |
m |
月 |
h |
時 |
y |
年間通算日 |
n |
分 |
d |
日 |
s |
秒 |
firstdayofweek の設定値は次のとおりです。
定数 |
値 |
内容 |
vbUseSystem |
0 |
NLS API の設定値を使います。 |
vbSunday |
1 |
(既定値) 日曜 |
vbMonday |
2 |
月曜 |
vbTuesday |
3 |
火曜 |
vbWednesday |
4 |
水曜 |
vbThursday |
5 |
木曜 |
vbFriday |
6 |
金曜 |
vbSaturday |
7 |
土曜 |
firstweekofyear の設定値は次のとおりです。
定数 |
値 |
内容 |
vbUseSystem |
0 |
NLS API の設定値を使います。 |
vbFirstJan1 |
1 |
(既定値)1月1日を含む週を年度の第1週として扱います。 |
vbFirstFourDays |
2 |
7日のうち少なくとも4日が新年度に含まれる週を第1週として扱います。 |
vbFirstFullWeek |
3 |
全体が新年度に含まれる最初の週を年度の第1週として扱います。 |
[サンプル]
Sub SampleDateDiff()
Debug.Print DateDiff("d", #1/1/2011#, #1/1/2012#)
Debug.Print DateDiff("m", #1/1/2011#, #1/1/2012#)
Debug.Print DateDiff("yyyy", #1/1/2011#, #1/1/2012#)
End Sub
このサンプルを実行すると、2つの日時の時間間隔を365(日),12(月),1(年)の単位でそれぞれイミディエイトウィンドウに出力します。 |
■ DatePart 関数
[構文] DatePart(interval, date[,firstdayofweek[, firstweekofyear]])
[解説]
日時から指定した時間単位を取り出して返します。intervalは取り出す日時の間隔を表す文字列を指定します。dateには、評価の対象になる日付を指定します。firstdayofweekは週の始まりの曜日をfirstweekofyearは年度の第1週をそれぞれ指定します]
引数intervalの設定値は次のとおりです。
yyyy |
yyyy |
w |
週日 |
q |
四半期 |
ww |
週 |
m |
月 |
h |
時 |
y |
年間通算日 |
n |
分 |
d |
日 |
s |
秒 |
firstdayofweek の設定値は次のとおりです。
定数 |
値 |
内容 |
vbUseSystem |
0 |
NLS API の設定値を使います。 |
vbSunday |
1 |
(既定値) 日曜 |
vbMonday |
2 |
月曜 |
vbTuesday |
3 |
火曜 |
vbWednesday |
4 |
水曜 |
vbThursday |
5 |
木曜 |
vbFriday |
6 |
金曜 |
vbSaturday |
7 |
土曜 |
firstweekofyear の設定値は次のとおりです。
定数 |
値 |
内容 |
vbUseSystem |
0 |
NLS API の設定値を使います。 |
vbFirstJan1 |
1 |
(既定値)1月1 日を含む週を年度の第1週として扱います。 |
vbFirstFourDays |
2 |
7日のうち少なくとも4日が新年度に含まれる週を第1週として扱います。 |
vbFirstFullWeek |
3 |
全体が新年度に含まれる最初の週を年度の第1週として扱います。 |
[サンプル]
Sub SampleDatePart()
Debug.Print DatePart("d", Date)
Debug.Print DatePart("m", Date)
Debug.Print DatePart("yyyy", Date)
End Sub
このサンプルを実行すると、現在の日付から日,月,年をそれぞれ取り出し、イミディエイトウィンドウに出力します。 |
■ DateSerial 関数
[構文] DateSerial(year, month, day)
[解説]
引数で指定されたシリアル値を返します。yearは年を表す0〜9999の数値を、
monthは月を表す1〜12の範囲の数値を、dayは日を表す1〜31の範囲の数値を指定します。
[サンプル]
Sub SampleDateSerial()
Dim i As Long
For i = 1 To 31
Debug.Print DateSerial(2012, 1, i)
Next i
End Sub
このサンプルを実行すると、2012/01/01〜2012/01/31の日付をイミディエイトウィンドウに出力します。 |
■ DateValue 関数
[構文] DateValue(date)
[解説]
引数dateに指定した日付から、コントロールパネルで設定した短い日付の書式に従って日付を返します。
■ Day 関数
[構文] Day(date)
[解説] 引数dateで指定された日付から日を返します。
■ DDB 関数
[構文] DDB(cost,salvage,life,period[,factor])
[解説] 減価償却費を返します。
■ Dir 関数
[構文] Dir[(pathname[,attributes])]
[解説]
pathnameで指定したファイル名と一致した最初のファイル名を返します。pathnameにはワイルドカードを使用できます。
該当するファイルが見つからないとき、Dir関数は長さ0の文字列を返します。attributesは取得するファイルの属性を表す定数を指定します。pathname、attributesは共に省略可能です。
attributes の設定値は次のとおりです。
定数 |
値 |
内容 |
vbNormal |
0 |
標準ファイル |
vbReadOnly |
1 |
読み取り専用ファイル |
vbHidden |
2 |
隠しファイル |
vbSystem |
4 |
システム ファイル |
vbVolume |
8 |
ボリュームラベル。この値を指定すると、すべての属性は無効になります。 |
vbDirectory |
16 |
フォルダ |
vbAlias |
64 |
エイリアスファイル。Macintosh
でのみ使用できます。 |
[サンプル]
Sub SampleDir()
Dim f As String
f = Dir("C:\Windows\*.bmp")
Do While f <> ""
Debug.Print f
f = Dir()
Loop
End Sub
このサンプルを実行すると、C:\Windowsフォルダ内にあるすべてのビットマップファイル名を、イミディエイトウィンドウに出力します。 |
■ DoEvents 関数
[構文] DoEvents()
[解説]
オペレーティング システムに制御を渡します。時間がかかる処理を実行しているとき、処理が終了するまで制御は戻りません。
次は、"E"から始まるVBA関数について解説します。
|