-PR-
解決済み

エクセルVBAで、関数で使用されていない名前だけを削除したい

  • 困ってます
  • 質問No.858385
  • 閲覧数374
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 91% (89/97)

Excel97,Windows98SEを使用しています。

セル範囲に名前をつけて、それを関数で引数として使っています。
よくシート削除などをするので、全く使わなくなった名前がたくさん出来てしまうのですが、
例えばブックを開いた時(Private Sub Workbook_Open()などで)に、ブック内でまったく使用されていない名前だけを削除する、というようなことはできますでしょうか?
色々考えてはみたのですが方法が思いつかず、質問させていただきました。

ご存知の方、どうぞよろしくお願いいたします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2

Excel 2000 で動作確認しました(97 では行っていません)。
もしバグっていても責任は終えませんので、
使用するとしたら、事前にテストをお願いします。

Private Sub Workbook_Open()
Dim n As Object
For Each n In ActiveWorkbook.Names
If n.RefersTo Like "*REF!*" Then n.Delete
Next n
End Sub
お礼コメント
takahiro_

お礼率 91% (89/97)

ご回答どうもありがとうございます。
範囲に「REF!」の入った名前を削除していったらいいんですね…。気がつきませんでした! 使わせていただいています。
どうもありがとうございました。またわからないことがありましたらよろしくお願いいたします。
投稿日時 - 2004-05-18 10:09:03

その他の回答 (全1件)

  • 回答No.1
レベル14

ベストアンサー率 28% (4404/15619)

オフィス系ソフト カテゴリマスター
全く歯が立ちませんのですが、下記だけ思いつきました。
お役に立てば。
Sub test05()
For i = 1 To Names.Count
n = ActiveWorkbook.Names(i).Name
m = ActiveWorkbook.Names(i).Value
Cells(i, "c") = n
Cells(i, "d") = "'" & m
Next i
End Sub
ブック内の名前リストと範囲が紙に打ち出せます。
最悪サイトチェックで不要分削除するとか。
列c、dは適当に変える。
お礼コメント
takahiro_

お礼率 91% (89/97)

ご回答どうもありがとうございます。
名前削除用の作業列を作ればよかったんですね!
今回は#2の方のを使わせていただいたのですが、また別の機会に使わせていただきますね。
またわからないことがありましたらよろしくお願いいたします。
ありがとうございました。
投稿日時 - 2004-05-18 10:06:39


このQ&Aで解決しましたか?
関連するQ&A
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-

特集


開業・独立という夢を持つ人へ向けた情報満載!

ピックアップ

ページ先頭へ