dポイントプレゼントキャンペーン実施中!

エクセルファイルを開くときに重かったので、
名前から定義のダイアログを見たところ、設定した
はずのない定義が多量にしかも、勝手に組まれたような
名前で定義されています。
これは、なぜ発生するのでしょうか、また、
一括定義削除の方法はないのでしょうか?

よろしくお願いします。
以上

A 回答 (4件)

原因説明ではないですか、沢山ある場合に、一括して名前を削除するVBAをやってみました。


Sub test01()
nam = Array("a", "ss")
Dim MyName As Name
For Each MyName In Names
For j = 0 To UBound(nam)
If MyName.Name = nam(j) Then GoTo skp
Next j
ActiveWorkbook.Names(MyName.Name).Delete
skp:
Next
End Sub
上記でnam = Array("a", "ss")の
"aa"の後に、残す名前を””で囲い、カンマで区切って増やすと
それらは残り、それ以外は削除されました。
関心があれば、ブックをコピーして、コピーの方でテストして確認してみてください。
    • good
    • 0

こんにちは。

KenKen_SP です。

フィルタオプションとかを使うと「Criteria」とかの
名前が自動で作成されるみたいですが、、

、、ちがうな、、きっと(--;)?

> 設定したはずのない定義が多量にしかも、勝手に
> 組まれたような名前で定義されています。

その名前を2~3の例示すると手掛かりになるかもしれ
ません。
    • good
    • 0

こんばんは。



>エクセルで定義をした覚えが無いのにいっぱいあるのはなぜでしょう

参照範囲は、どのようになっているか、いくつか例を教えてください。

何か、特別にオンライン・ソフトのアドインなどを使っていませんか?
ふつうは、アドインにそのようなことをするのは、「掟破り」なのですが、通常のVBAでは、時々、そのような設定をさせてしまうこともありますね。

もしも、自動実行で設定されているようなら、Excelを起動してから、[ファイル]-[開く]で、目的のファイルを、Shiftキーを押しながら開くと、自動実行マクロが起動されないで開きます。

後は、テンプレート(.xltファイル)ですね。

それ以外は、ちょっとありえないと思います。

マクロのコードが既に出てはいますが、私も作ってみました。ただし、本当に削除してよいものか、どこかの範囲を指し示していないかとか、それによって支障が出ないかは、以下を試す前に、良く検討してから行ってください。

以下は、VBAのコードウィンドウでしたら、どこでもよいです。

Sub NamesDelete()
Dim nm As Object, i As Long, msg As String
  For Each nm In Application.Names
   nm.Delete
   i = i + 1
  Next
 If i > 0 Then
   msg = "名前登録を、" & i & "個削除しました。"
  Else
  msg = "名前登録が見当たりません。"
 End If
 MsgBox msg
End Sub
    • good
    • 0

「検索」「ファイルとフォルダ」で「XLSTART」というフォルダを探してください。


このフォルダ内にあるファイルはエクセル起動時に同時に開きます。

このフォルダ内にあるファイルに名前の定義がありませんか?
不必要であればフォルダ内のファイルをすべて削除するか、別のフォルダに移動してください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!