ワークシートでよく使う合計を求めるSUM関数,平均を求めるAVERAGE関数のようにExcelに搭載されている関数のことを「ワークシート関数」と呼びます。
一方,VBAにも独自の関数を搭載しています。ここではVBA関数について説明します。
Now 関数は,現在の日時を返します。引数はありません。
Sub Sample1() Range("A1") = Now End Sub
Now 関数は日付と時刻の両方を返します。年だけや時刻だけを取得したいときは,次の Year 関数や Hour 関数などと組み合わせて使います。
Date 関数は,現在の日付を返します。引数はありません。
Sub Sample1() Range("A1") = Date End Sub
例えば,請求書のシートで,請求日を入れるのに使えます。
Sub 請求日設定() ActiveSheet.Range("A1").Value = Date End Sub
Year 関数は,引数に指定した日付の年を表す数値を返します。Month 関数は,引数に指定した日付の月を表す数値を返します。Day 関数は,引数に指定した日付の日を表す数値を返します。
工事中
書式に指定する主な書式記号は次の通りです。
書式記号 | 説明 |
---|---|
# | 1桁の数値を表す |
0 | 1桁の数値を表す |
, | 1桁の数値を表す |
yy | 1桁の数値を表す |
yyyy | 1桁の数値を表す |
m | 1桁の数値を表す |
mm | 1桁の数値を表す |
d | 1桁の数値を表す |
dd | 1桁の数値を表す |
aaa | 1桁の数値を表す |
aaaa | 1桁の数値を表す |
ddd | 1桁の数値を表す |
dddd | 1桁の数値を表す |
ww | 1桁の数値を表す |
y | 1桁の数値を表す |
oooo | 1桁の数値を表す |
q | 1桁の数値を表す |
g | 1桁の数値を表す |
gg | 1桁の数値を表す |
ggg | 年号を表す |
e | 和暦年を表す |
ee | 和暦年を表す。1桁の場合は0がつく |
h | 時の数値を表す |
hh | 時の数値を表す。1桁の場合は0がつく |
m | 分の数値を表す |
mm | 分の数値を表す。1桁の場合は0がつく |
s | 秒の数値を表す |
ss | 秒の数値を表す。1桁の場合は0がつく |
工事中
数値の小数部を切り捨てて整数部を返します。
Sub IntA1() Range("A1").Value = 123.456 Range("A2").Value = Int(Range("A1").Value) End Sub
数値の絶対値を返します。
複数の定数を指定する時は,定数を加算します。
Sub Sample() MsgBox "保存しますか", vbYesNo + vbQuestion End Sub
[OK]ボタンと警告メッセージアイコンを表示するステートメント。
Sub Sample() MsgBox "入力内容を確認して下さい", vbOKOnly + vbExclamation End Sub
ダイアログボックスにタイトル(「入力エラー」)を表示するステートメント。
Sub Sample() MsgBox "入力内容を確認して下さい", vbOKOnly + vbExclamation, "入力エラー" End Sub
工事中
InputBox 関数は,ユーザーが文字列を入力できるダイアログボックスを表示し,ユーザーが入力した文字列を返します。
例題として,1年定期預金の利息計算のシミュレーションをしてみましょう。まず,利子率 r と利子課税率 t は与えられたパラメータで一定とします。その上で,預金額 x をデータとして入力し,1年後の元利合計 y を計算するとします。
Sub risoku() Cells(1, 2).Value = "1年定期預金の元利合計を計算します。" Cells(2, 2).Value = "1年定期預金の利息は年利1%です。" Cells(4, 2).Value = "利息には分離課税で20%の税金がかかります。" r = 0.01 t = 0.2 x = InputBox("預金額を入力して下さい") y = (1 + r * (1 - t)) * x Cells(6, 2).Value = "預金額": Cells(6.3).Value = x Cells(6, 4).Value = "円" Cells(8, 2).Value = "1年後の元利合計" Cells(8, 3).Value = y: Cells(8, 4).Value = "円" msg = MsgBox(y & "円です。", vbInformation + vbOKOnly, "1年後の元利合計") End Sub
工事中
工事中
Val 関数は,文字列形式の数値を,数値形式に変換した結果を返します。
工事中
工事中
リンクはご自由にどうぞ。