VBAコードを実行すると、シートにフィルターを適用すると名前マネージャーに表示されない範囲名が作成されることが検出されました(範囲名は単にヘッダーまたはテーブル全体に関連付けられます) 。なぜこれが起こるか、そして/またはそれを防ぐ方法を知る方法はありますか?それは単なるExcelの不具合ですか?範囲名が名前マネージャーにない
私が実行しようとしたエラーは以下の通りであった原因VBAコードの一部:私はデバッグしたとき
For Each Rng In ActiveWorkbook.Names
Set Rng2 = Range(Rng)
If Not Intersect(Rng2, Range(rng1.Offset(1, 0), rng1.End(xlDown)).EntireRow) Is Nothing Then ActiveWorkbook.Names(Rng.Name).Delete
Next Rng
、私は(ちなみに、名前のオブジェクトである)私のRNGことに気づきました私が決して作成したことのない範囲に向けて指しています(それが入っているシートには他の範囲名がなく、決して入れていません) このシートに名前があることを確認するためにこのvbaコードを使用しました:
Sub test()
Dim Rng As Name
For Each Rng In Sheets("WindHail Zone 2").Names
'ActiveWorkbook.Names(Rng.Name).Delete
MsgBox Rng
Next Rng
End Sub
最初の行からコメントブロックを削除しました。 fを2行目のforループで削除します。私はそのタブでフィルタを削除し、それを頼りにして、同じ問題に遭遇しました。
ありがとうございます!
を試みるべきか。それを再現できる方法はありますか?どのような種類のフィルターですか?どのようなVBAコードですか?いくつかの情報が必要です。 – vacip
あなたの投稿を編集して、コードスニペット、今まで試したことなどを詳細に記入してください。 –