|
▼はってんちゅう さん:
▼はってんちゅう さん:
こんにちは
姑息な(?)手段としては、
・抽出された状態で、コピーしてこのシートのリスト領域の右側にペースト。
・その上で、現在のリスト領域の列を削除。
これでもいいのかなと思います。
まっとうにコード処理するとすれば以下はサンプルです。
Sheet1にオートフィルターを設定して、何か、抽出された形にして実行してみてください。
Sub Sample()
'オートフィルターで抽出されていない行を削除する
Dim c As Range
Dim r As Range
For Each c In Sheets("Sheet1").AutoFilter.Range.Columns(1).Cells
If Intersect(c, Sheets("Sheet1").AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible)) Is Nothing Then
If r Is Nothing Then
Set r = c
Else
Set r = Union(r, c)
End If
End If
Next
If Sheets("Sheet1").FilterMode Then Sheets("Sheet1").ShowAllData
If Not r Is Nothing Then r.EntireRow.Delete
End Sub
|
|