CELF、RPA、エクセルによる業務改善記録

CELF、RPA、エクセルをより多くの方に便利に使っていただきたい!!

エクセルマクロ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