いつもお世話様です。エクセル2000での名前定義に関するVBA操作で疑問がありますのでよろしくお願い申し上げます。
(o。_。)oペコッ
以下のマクロで、あるエクセルのBOOKの名前の定義をすべて書き出してみました。
Sub Names_Check()
Dim nm As Object
Set sh = ActiveWorkbook.Worksheets.Add
For Each nm In ActiveWorkbook.Names
i = i + 1
sh.Cells(i, 1) = nm.Name
sh.Cells(i, 2) = "'" & nm.RefersTo
Next
End Sub
すると、なかにはセル範囲を参照していない名前の定義がけっこう見つかりました。
それらはよく見ると
=○○○.xls!△△マクロ
のようなマクロの名前を参照していました。
そんな名前の定義はつけた覚えが無いのですが、これは何でしょうか?
なぜそのような名前の定義が出来てしまうのでしょうか?
次にセル範囲を参照していないこれらの名前定義を削除するため下記のマクロを書いてみたところ、「実行時エラー1004 その名前は正しくありません」というエラーがでてしまいます。
どう書いたら削除できるのでしょうか?(もちろん手動では削除できます。)
Sub Del_NameRefQuestion() '不明な参照の名前定義削除
Dim nm As Object
Dim mystr As String, ans As Integer
For Each nm In ActiveWorkbook.Names
If InStr(nm.RefersTo, "$") = False Then
ans = MsgBox(nm.Name & "/" & nm.RefersTo, vbYesNo + vbQuestion, "削除しますか?")
If ans = vbYes Then nm.Delete ’ここでエラー
End If
Next
MsgBox "不明参照の名前定義削除完了", , " ( ̄ー ̄)v"
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは。
私が、この件には以前から気がついていたことです、特に、Excel2000では、ややこしい現象が起こるようです。
"不明参照の名前定義削除完了"
のエラーは、予想した方法でやってみたら、出すことが出来ました。
以前の私の回答:
http://oshiete1.goo.ne.jp/kotaeru.php3?qid=2616426
名前を一括削除するマクロ
私は、前回を含めて、中途半端な回答をしてしまいました。
削除できないものは、名前-定義で付けられた、一種の関数式かもしれません。例えば、Ver.4マクロ関数で定義した数式とか、また、ユーザー定義関数も、そこに入り込むのかもしれません。「"不明参照の名前定義削除完了"」が出ます。
ただ、私はまだ結論的なものは出来ていません。Microsoft サポートにもなかったように思います。
ここのカテゴリの質問者の中に、この私の発言に納得するように説明をしろと強い要求されたのですが、私としても、今のところ、単にマクロでは安易には扱わないほうがよいとしているだけにとどまっています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
名前を一括削除するマクロ
Access(アクセス)
-
Excelでセルに名前を定義したいのですが
Excel(エクセル)
-
Excel VBA セルの名前があるか無いかを知るには?
Visual Basic(VBA)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
Excel 他のファイルからシートをコピー 名前の定義を引き継がない。
Excel(エクセル)
-
6
エクセル2013vbaで、見えない名前の定義の「_xlfn.IFERROR」を削除したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
皆さん定義を教えてください 「...
-
「互いに素」の定義…「1と2は互...
-
1未満と1以下の違い
-
eの0乗は1ってどういう原理です...
-
複雑な家庭とは
-
なぜ、直角三角形ではないのにs...
-
数字の1とは何なのか?
-
無限から無限を引いたら何にな...
-
ノートンのウイルス定義のバー...
-
直和分解とは? 同値関係、同値類
-
0^0 での積の定義
-
べき乗
-
なぜ1+1=2なのですか?
-
最大元と極大元の定義の違いが...
-
5桁の整数nにおいて,万の位,...
-
ACCESS VBAでインポート定義の場所
-
互いに素とは?
-
フェルミ推定
-
アフィン空間の定義を簡潔に言...
-
使われているのに辞書にのって...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
皆さん定義を教えてください 「...
-
無限から無限を引いたら何にな...
-
複雑な家庭とは
-
「互いに素」の定義…「1と2は互...
-
1未満と1以下の違い
-
べき乗
-
eの0乗は1ってどういう原理です...
-
「logx^2=2logx」が間違って...
-
日本語 ことば ひとまわり ふた...
-
ACCESS IIF関数 複数条件の設...
-
ACCESS VBAでインポート定義の場所
-
p⇒q=(¬p)∨qについて
-
数字の1とは何なのか?
-
なぜ、直角三角形ではないのにs...
-
1wordとは、何文字ですか?
-
ヘシアンが0の場合どうやって極...
-
P(A∩B)=PA(B)×P(A) に何故なる...
-
エクセルで「”」インチの表示形...
-
最大元と極大元の定義の違いが...
-
lim n→0 =n=0となりますが lim ...
おすすめ情報