intSubT=Application .WorksheetFunction .Subtotal(9,Range("B2:B19"))
' これが、Subtotal関数の構文です。なお、9 の値は集計方法を表す番号です。

Range("B20") .Value=intSubT
' B20にintSubTを書いています。

例の構文の 9 の位置に集計方法の番号を入れます。

Subtotal関数を使用すると、非表示のデータは集計されないで、
表示されている金額だけが合計された。
Range("A1:B19") .Select
Selection .AutoFilter
ActiveSheet .Range("$A$1:$B$19") .AutoFilter Field:=1 ,Criterial:="A"
' A1からB19までを選択して、フィルターでAを抽出している。
' B20にSUM関数を書いて合計を算出している。
Aだけを抽出してB20にSUM関数を記入すると、
非表示のデータも集計されてしまう。
このようなデータベースから、Aのデータをフィルター抽出して
金額の合計を算出する場合
通常の関数は、値が非表示になっていても計算の対象になります。
Subtotal関数は、非表示になっている値を無視して、表示されている値のみ集計されます。
だから、フィルター抽出したデータの合計金額などの計算に向いています。
 
基本的なマクロの習得
SUBTOTAL関数の使用方法


実際に使っているシステムの内容で解説
  EXCEL VBA 講座