データのあるシートから、一定の条件にあうデータを当初から用意した作業用シート抜き出してきた上で、抜き出したシートの1つの列にあるデータ集から重複のないデータを抜き出すため、advancedfilterを使用しています。
別のサブルーチンを作成して、同一作業用シートを使い回す形で上記の作業を実行すると、表題のみコピーしてデータをコピーしなくなる現象が生じました。
作業用シートを削除して、新たにシートを挿入して作業用シートと名前を付けて、advancedfilterを実行すると、正常に機能しました。
このような現象がおきる理由をご教示願います。
この現象を避けるには、作業用シートをサブルーチンごとに挿入・削除を繰り返す必要が生じ、処理スピードが落ちると予想されます。
よき、アドバイスがあればよろしくお願いします。
Sub フィルター()
Dim rows As Double
'重複を削除した番号リスト作成
With Worksheets("作業用")
rows = .Range("b65536").End(xlUp).Row
.Range(.Cells(6, 3), .Cells(rows, 3)).AdvancedFilter Action:=xlFilterCopy, _
copytorange:=.Range("N6"), unique:=True
End With
End Sub
No.1ベストアンサー
- 回答日時:
直接の回答ではありませんが、
VisualBasicEditorから、
Application.ScreenUpdating = False
に設定してステップ実行し、
実際に動いているところを見てデバックしてみると
すぐ問題点が判明するかもしれません。
関係ないかもしれませんが、一つ気になる点として、
dim Rows as Double
の変数名は、エクセルが混乱してよろしくない気がしますので、
dim lRow as Long
などのほうが良い気がします。
ご教示ありがとうございます。
重複データなしのデータを抽出するためadvancedfilterを実行する際にCriteriaを指定しないでコードを実行するとVBAが自動的にシート上のセルにCriteriaという名前をつけており、そのCriteriaが残ることが問題なことが分かりました。
このCriteriaという名前を削除するコードを加えたところ、正常に機能するようになりました。
このCriteriaという名前が自動的に作成される現象については、別に質問をしてみたいと思っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 2 2022/11/18 15:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで入力シートから別シ...
-
IF, ISNUMBER, INDIRECTの組み...
-
エクセルのワークシートが重く...
-
Excelの中央値の複数条件について
-
Excel 複数のシートからグラフ...
-
VBAのフォームにレコード番号を...
-
エクセル シフト勤務表から、...
-
Excel ハイパーリンク先のセル...
-
エクセルVBA:表の内容を担当者...
-
エクセル自動の年月
-
【Excel】VLOOKUP関数で複数の...
-
ExcelVBAで、指定したシートに...
-
EXCELの日付データをWORD文書に...
-
ピボットテーブルから抽出デー...
-
ブック内の特定の文字列を含む...
-
指定した日付の範囲内でデータ...
-
質問:特定文字列から空白行ま...
-
Excelファイルサイズが大容量に...
-
Excelで数値→文字列変換で指数...
-
Excelで行ごとコピー、同じ行を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで入力シートから別シ...
-
VBA セルの値と同じ名前のシー...
-
Excel 複数のシートからグラフ...
-
ExcelVBAで、指定したシートに...
-
Excelの中央値の複数条件について
-
Excel ハイパーリンク先のセル...
-
IF, ISNUMBER, INDIRECTの組み...
-
エクセルのワークシートが重く...
-
VBAでシート名をセルから取得し...
-
エクセルで入力→日付を自動判別...
-
質問:特定文字列から空白行ま...
-
エクセル自動の年月
-
エクセル シフト勤務表から、...
-
エクセル マクロを使って日々...
-
VBAのoffsetの動き方について教...
-
エクセルVBA:表の内容を担当者...
-
Excel日付変更との参照先の連動
-
EXCEL VBA 一致しないデータの...
-
エクセルについて質問です 日付...
-
Excelの選択肢をポップアップリ...
おすすめ情報