エクセルマクロVBA VBA関数基礎
エクセルには関数がありますが(ワークシート関数)、VBAにも関数があります。
VBA関数について紹介していきます。
「エクセルマクロVBA VBA関数基礎」
1.VBA関数とワークシート関数の特徴
VBA関数とワークシート関数はよく似ていますが、全く同じではありません。
それぞれ異なる特徴があります。
(1)同じ名前で異なる機能を持つ関数
Date関数
VBA関数・・・現在のシステム日付を返します
ワークシート関数・・・日付のシリアル値を返します
(2)同じ機能で異なる名前を持つ関数
評価結果によって2つの引数のうち1つを返す変数
VBA関数・・・If関数
ワークシート関数・・・Iff関数
(3)ワークシート関数のみ存在する関数
Vlookup関数、Hlookup関数、Sum関数など
(4)VBA関数のみ存在する関数
MsgBox関数、InputBox関数、IsNull関数、IsNumeric関数など
2.VBAでワークシート関数
VBAでワークシート関数の一部を使用することができます。
ワークシート関数を使用するには、WorksheetFunctionオブジェクトを使用します。
(1)ケース1
セル範囲「A1:A5」の合計値を、ワークシート関数「SUM」を利用してメッセージボックスに表示したい場合
Sub sample()
MsgBox Application.WorksheetFunction.Sum(Range("A1:A5"))
End Sub
(2)ケース2
ワークシート関数「Vlookup」を使用して、セル「A2」の値をセル「C2:D36」の左端の列から検索し、2列目をメッセージボックスに表示したい場合
Sub sample()
MsgBox Application.WorksheetFunction.Vlookup(Range("A2"),Range("C2:D36"),2,false)
End Sub