| 
    
     |  | いつも、お世話になっています。 履歴を参照して、下記のようなマクロを作成しました。
 やりたいことは、オートフィルタで絞り込んだ結果の最初と最後の行番号の取得です。
 
 Private Sub ComboBox1_Change()
 With Worksheets("AAAA")
 If .AutoFilterMode Then
 .AutoFilterMode = False
 End If
 LtW = ComboBox1.List(ComboBox1.ListIndex)
 .Range("B1").AutoFilter Field:=3, Criteria1:=LtW
 CE = .Range("C65536").End(xlUp).Row
 CA = .Range("C:C").SpecialCells(xlCellTypeVisible).Areas.Item(2).Row
 If CA > CE Then
 CA = 2
 End If
 MsgBox CA & ", " & CE
 End With
 end sub
 
 Private Sub UserForm_Initialize()
 Dim Dic As Object  'Dictionary
 Dim RR As Range
 Dim R As Range
 
 If Sheets("LIST").Range("F2") = 1 Then
 With Sheets("MCSV")
 Set Dic = CreateObject("Scripting.Dictionary")
 Set RR = .Range("C2")
 Set RR = Range(RR, RR.End(xlDown))
 
 For Each R In RR
 Dic(R.Value) = Empty
 Next
 Me.ComboBox1.List = Dic.keys
 
 Set Dic = Nothing
 End With
 end sub
 
 B列に複数のデータがある場合には動作しますが、1種類のデータしかない場合に,
 下記部分でエラーになってしまいます。
 CA = .Range("C:C").SpecialCells(xlCellTypeVisible).Areas.Item(2).Row
 
 例
 A列 B列       A列 B列
 番号 名前      番号 名前
 1  AAA       1  AAA
 2  BBB 問題ない  2  AAA エラー発生
 3  AAA       3  AAA
 
 エラーの回避方法があれば、教えていただけないでしょうか。
 よろしくお願い致します。
 
 |  |