Dim intR(1 TO 50) As Integer   ' 抽出されるデータの数が分からないので、それぞれのデータに
                  ' 変数名を付けるのが難しいから、配列変数名を使用する。
                  ' intR(1) から int(50) までが定義できる。
                  ' i の値によって番号が決まる。

Worksheets(Sheet3").Range("A1:A25").ClearContents   ' データのみ消去
Worksheets(Sheet1").Range("D1:D25").ClearContents
strSto = "錦店"                       ' 変数 strSto に店名を代入する。
ActiveSheet.Range("$A$1:$C$22").AutoFilter Field:=1, Criterial:=strSto
     ' A1からC22を対象に Field1 (A列)をフィルターして strSto を抽出する。

i=1
For Each FilterRow In Worksheets("Sheet1").Range("A2").CurrentRegion.Resize(, 1).SpecialCells(xlVisible)
     ' For _ Next であるが、この場合は To が無くて、抽出結果のデータがすべて終わるまで実行する。

  If FilterRow.Row > 2 Then               ' タイトル行番が 1 だから 2 以上にフィルター
   intR(i) = FilterRow.Row                ' 結果の行番号を intR(i) に代入する。
   Range("D"&intR(i)).Value = "●"           ' D列に黒丸を記入している。
   Worksheets("Sheet3").Range("A" & i).Value=intR(i)   ' Sheet3 に行番号を記入する。
   i = i+1                         ' i が 1 づつ増加する。
  End If
Next FilterRow                         ' For _ Next の折り返し点
Selection.AutFilter                      ' フィルターの開始と同じ構文でも解除される。
ActiveSheet.AutoFilterMode=False               ' フィルターの解除の構文
                               ' どちらでも解除される。
2. 別シートの抽出結果の行番号を記入する。

3. フィルターを解除すると、抽出した行だけに
  黒丸が付いている。
1. データベースから錦店だけを抽出する。
  抽出結果のD列に黒丸を付ける。
● データベースからフィルター抽出したデータすベての
  行番号を取得する。
 
基本的なマクロの習得
フィルター抽出結果のすべての行番号取得


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