【VBA】オートフィルタを設定し絞り込み(文字列)をして、絞り込んだ結果の数値の合計を取得する

VBAから
 ・オートフィルタの設定
 ・絞り込み(文字列)
 ・絞り込んだ結果の数値を合計を取得
する方法を記載します!

PR

前提

シート「sample」の以下の表に対して、
 ・オートフィルタの設定
 ・絞り込み(文字列)
 ・絞り込んだ結果の数値の合計を取得
します。

実行前
実行前
PR

VBAコード

ここでは例として、
 ・オートフィルタの設定と表の1列目「名前」を
 ・文字列「佐藤」で絞り込み
 ・絞り込んだ結果のC列「売上」の合計を取得
します。

Option Explicit

Sub sample()
    
    Dim total As Long

    'オートフィルタの設定と表の1列目「名前」を文字列「佐藤」で絞り込み
    Worksheets("sample").Range("B2").AutoFilter field:=1, Criteria1:="佐藤"
    
    '絞り込んだ結果のC列「売上」の合計を取得
    total = WorksheetFunction.Subtotal(9, Worksheets("sample").Columns("C"))
    
    MsgBox "絞り込んだ結果の売上の合計は『" & total & "』です。"
    
End Sub

表の1列目を絞り込むため、「AutoFilter」の引数「field」に「1」を指定します。

絞り込み条件は、「AutoFilter」の引数「Criteria1」に設定します。
「ワイルドカード」の使用も出来ます。 例) Criteria1:=”*藤”

絞り込んだ結果の数値の合計は、ワークシート関数「Subtotal」で実現します。

PR

実行結果

以下ができました。 
・オートフィルタの設定
・絞り込み(文字列)
・絞り込んだ結果の数値の合計を取得

実行結果
実行結果
タイトルとURLをコピーしました