【VBA】ワークシート関数を実行する

VBAからワークシート関数を実行することができます!
例)SUM関数、VLOOKUP関数など

「Application.WorksheetFunction.XXX」という構文で、
ワークシート関数を実行することができます!
XXXはワークシート関数名です。

VBAコード(エラーが発生しないワークシート関数)

SUM関数などのエラーが発生しないワークシート関数は、エラー処理は不要です。

Sub execWorkSheetFuncSample01()
    
    'エラーが発生しないワークシート関数を実行(SUM関数等)
    MsgBox Application.WorksheetFunction.Sum(Range("B2:B4"))

End Sub

VBAコード(エラーが発生するワークシート関数)

VLOOKUP関数などはエラーが発生しうるため、エラー処理を記述したほうが賢明です。

Sub execWorkSheetFuncSample02()
    
    Dim ret As Variant
    
    'エラー処理を有効
    On Error GoTo VLookupErr
    'エラーが発生しえるワークシート関数を実行(VLOOKUP関数等)
    ret = Application.WorksheetFunction.VLookup("aiueo", Range("B2:E6"), 3, 0)
    
    MsgBox "VLookupで取得した値は「" + CStr(ret) + "」" + "です!", vbinfomation, "aaaa"
    Exit Sub

VLookupErr:
    'エラー発生時の処理
    MsgBox "VLookupでエラー発生。該当する値が存在しません。", vbinfomation, "エラー発生"
    
End Sub
タイトルとURLをコピーしました