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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【至急】Excel 同一人物の情報を一行にまとめる(複数行) 6 2022/05/24 17:58
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) Sheet2の日付をキーにオートフィルターで2023年1月のデータを抽出し、Sheet3へ書き出すた 2 2023/03/06 23:57
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) エクセルVBAコピー 2 2022/06/08 21:45
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) 前回質問の続きになりますが、下記マクロでシート1からシート2の抽出項目セルB3「りんご」とセルC2「 2 2022/12/02 17:37
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
VBAでのフィルタについて(空白行の削除)
Excel(エクセル)
-
空白行がある場合削除 マクロ
Excel(エクセル)
-
VBAのコードがエラーになってしまいます。(エクセル)
Excel(エクセル)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
エクセル マクロ オートフィルの終点の指定について
Excel(エクセル)
-
6
VBA 複数の行を高速で削除する方法
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
【VBA】ワークブックを開く時に...
-
String""から型'Double'への変...
-
VBAでfunctionを利用しようとし...
-
文字列内で括弧を使うには
-
マクロで"#N/A"のエラー行を削...
-
実行時エラー'-2147467259(8000...
-
mailstorehomeのエクスポートで...
-
ActiveCell.FormulaR1C1の変数
-
SQLでエラーです。
-
インポート時のエラー「データ...
-
IISの仮想ディレクトリ作成がわ...
-
【VBAエラー】Nextに対するFor...
-
pythonのopenpyxlについて
-
マクロの「SaveAs」でエラーが...
-
HTMLソースが表示のページのも...
-
ASP.NETのサーバー移行に伴うエ...
-
ApplicationとWorksheetFunctio...
-
フランスの生年月日(jj/mm/aaaa)
-
実行時エラー´5854´ 文字列型パ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
マクロで"#N/A"のエラー行を削...
-
VBAでfunctionを利用しようとし...
-
文字列内で括弧を使うには
-
実行時エラー 438 の解決策をお...
-
エクセル関数を教えてください
-
On ErrorでエラーNoが0
-
お助けください!VBAのファイル...
-
VBA データ(特定値)のある最...
-
【VBA】ワークブックを開く時に...
-
インポート時のエラー「データ...
-
実行時エラー'-2147467259(8000...
-
マクロの「SaveAs」でエラーが...
-
WindowsでのPythonの挙動について
-
ApplicationとWorksheetFunctio...
-
Excel vbaについての質問
-
エクセルVBA 「On Error GoTo...
-
Filter関数を用いた結果、何も...
-
ACCESSで値を代入できないとは?
おすすめ情報