|
さくら さん、こんばんわ。
>.Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible)
>で可視セルを取得しています。
>オートフィルターを使用している上に、非表示のセルがあるのでアドレスは「$A$7:$A$9,$C$7:$E$9,$H$7:$K$9,$M$7:$M$9」のようになります。
>この中に存在する行の中で、非表示にしているB列のみのデータを取得したいのですが、VBAでどのように記述すればいいのでしょうか?
EntireRowプロパティで選択された可視セル範囲を行全体に拡張し、IntersectメソッドでB列と交差してるセルの位置を取得します。
Sub test()
With Application.ActiveSheet
'可視セル全部
Set r1 = .Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible)
'B列との交差セル
Set r1 = Application.Intersect(.Columns("B:B"), r1.EntireRow)
End With
MsgBox r1.Address
End Sub
こんな感じです。
|
|