| 
    
     |  | ▼だめだこりゃ さん: こんばんは。
 
 >すみません。
 >Range("a2", Range("a2").End(xlDown)). _
 >      SpecialCells(xlCellTypeVisible).Count
 >のようにやったらできました。
 >
 >でも、抽出後1件もデータがない場合、件数が65300件とかになっちゃいます。
 >もとのデータの行数が見出し行も含めて237行あるので、それが何か影響しているのでしょうか?
 >
 >1件もデータがない場合は0件にしたいのですがいい方法がありましたら是非教えてください。
 
 抽出後1件もデータがない場合、
 Range("a2", Range("a2").End(xlDown))だとデータ入力セルの最終行を取得していませんね!!
 End(Xlup)だと取得してくれます。
 
 '===================================================================
 Sub test()
 With Range("a1", Range("a" & Rows.Count).End(xlUp))
 If .Count > 1 Then
 MsgBox .SpecialCells(xlCellTypeVisible).Count - 1
 Else '元々A列に見出し以外にデータがない場合
 MsgBox 0
 End If
 End With
 End Sub
 
 確認してみて下さい。
 
 |  |