
VBA初心者です。
オートフィルターで抽出した行を削除したくて、以下のように書いたのですが、最後の一文でエラーになってしまいます。
◆エラー内容◆
実行時エラー1004
重複する選択範囲に対してそのコマンドを使用することはできません。
◆書いたVBA◆
Range("A2").Select
Selection.AutoFilter Field:=1, Criteria1:="=1111", Operator:=xlAnd
'オートフィルターで「1111」を抽出
Dim r As Range
Set r = Range(Range("A3"), Range("A" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeVisible)
r.ClearContents 'A列の可視セルの値をクリア
Range("A2").Select
Selection.AutoFilter 'オートフィルターの解除
r.SpecialCells(xlCellTypeBlanks).EntireRow.Delete 'A列が空白の行は削除→ ココがエラーになります
---------------------------------------------------------
元のファイル構成は2行目に項目名で、3行目からデータが入っています。
いろいろ調べたのですが、よくわからなかったので教えていただければ
幸いです。
宜しくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
抽出データがない時は処理しないようにしたほうが良いでしょう。
また、抽出結果範囲を r にセットし直して、ダイレクトに削除すれば良いです。
Sub try()
Dim r As Range
With ActiveSheet
Set r = .Range("A2", .Range("A" & .Rows.Count).End(xlUp))
r.AutoFilter Field:=1, Criteria1:="=1111"
If WorksheetFunction.Subtotal(3, r) > 1 Then
Set r = Intersect(r, r.Offset(1).SpecialCells(xlCellTypeVisible))
.AutoFilterMode = False
r.EntireRow.Delete
Else
MsgBox "no data"
End If
End With
Set r = Nothing
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
【VBA】ワークブックを開く時に...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
実行時エラー 438 の解決策をお...
-
文字列内で括弧を使うには
-
VBAのリストボックスで、横スク...
-
インポート時のエラー「データ...
-
「実行時エラー '3167' レコー...
-
【Access】Excelインポート時に...
-
Filter関数を用いた結果、何も...
-
On ErrorでエラーNoが0
-
ACCESS97 実行時エラー '2455'...
-
コンボボックスの特定項目だけ...
-
VB2010でデータグリッドビュー...
-
ActiveCell.FormulaR1C1の変数
-
【VB.NET】 パワポ操作を非表示で
-
ExecuteNonQueryメソッドの戻り値
-
実行時エラー'-2147467259(8000...
-
マクロで"#N/A"のエラー行を削...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
【VBA】ワークブックを開く時に...
-
マクロで"#N/A"のエラー行を削...
-
文字列内で括弧を使うには
-
String""から型'Double'への変...
-
【Access】Excelインポート時に...
-
VBA データ(特定値)のある最...
-
On ErrorでエラーNoが0
-
インポート時のエラー「データ...
-
ACCESSで値を代入できないとは?
-
VBA エクセル で FIND でのエラ...
-
Filter関数を用いた結果、何も...
-
レコード登録時に「演算子があ...
-
ApplicationとWorksheetFunctio...
-
Excel vbaについての質問
-
【VBAエラー】Nextに対するFor...
-
実行時エラー 438 の解決策をお...
-
「実行時エラー '3167' レコー...
おすすめ情報