• ベストアンサー

EXCELにある沢山の名前(範囲名)を一発で消去したい

エクセルのブックに沢山の名前(挿入-名前-定義で作成した)があります。シートの移動またはコピーで新規ブックに1つのシートをコピーしたら名前の定義までコピーされてしまいました。 そこで、VBAを用いてこの名前を消去したいと考えましたが、方法が全く解りません。 VBAで名前を一気に消すにはどうすればよいのでしょうか?教えてください。よろしくお願いします。

  • kazh
  • お礼率89% (60/67)

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

以下ではどうでしょうか。 マクロはALT+F11でVBE画面を開き、「VBAProjectエクスプローラのシート名右クリック」→「挿入」→「標準モジュール」で表示される画面にペーストして下さい。実行はシート画面に戻って、ALT+F8を押してマクロ一覧からマクロ名を選択して実行します。 Sub Macro1() Dim cnt As Integer  For cnt = 1 To ActiveWorkbook.Names.Count   ActiveWorkbook.Names(1).Delete  Next cnt End Sub

kazh
質問者

お礼

すっ、スゴイです。 目的としていたことが、バッチリできました。 また、一歩ですがVBAが楽しくなりました。 ありがとうございました。 また、どこかで迷っていたらよろしくお願いいたします。

関連するQ&A

  • エクセルの名前について教えてください。

    エクセルのセル範囲の名前について質問です。 エクセルのシートでセルの範囲を選択して、左上の名前ボックスに直接名前を入力すると名前が定義できます。しかし、別のセル範囲を選択して、同じ(既に定義されている)名前を定義しようとすると、定義済みの範囲にアクティブセルが飛ばされます。異なるシートで同じ名前をつけようとしても同じ結果になります。名前がついたセル範囲を移動させようと、カットペをすると移動します。もしくは、挿入-名前-定義で名前を削除してから名前ボックスで定義する必要があります。ここで、質問です。しかし、名前が定義されたシートをタブ(一番下のシートの名前が書かれていて選択する部分)を右クリックしてシートのコピーをすると同じ名前がついた異なるセルが出来てしまいます。 色々試してみると、前に、imogasi様にご指導頂いた。名前は、ブックレベルとシートレベルとであるとの内容にからんだことだと思いました。(以下にその時の転記) >名前定義はブック単位とシート単位の2つがあります。上記の2つが >その例です。 シート上でも、=Book1!名前1や='Sheet1'!名前1って出てきました。 考え方として次のような考え方で宜しいのでしょうか? 名前ボックスでは、ブックレベルでの名前定義になる。 シートレベルでの定義は、エクセルのシートからは出来ない? bookレベルを指す時は、Book1!と''でくくらない Sheetレベルを指す時は、'Sheet1'!とシート名の部分を''でくくる 同じセル範囲を、同じ名前であっても、シートレベルとブックレベルで重複定義できる? vbaで使用する時は、同じく、'Sheet1'でくくる どなたか?詳しいかた教えて頂けないでしょうか?宜しくお願いします。

  • EXCEL  VBA シートコピー、名前変更他

    EXCEL  VBA (1)シートコピー、名前変更 (2)他の固定のbookへ転送をVBAで記述 book1のsheet1を開き、そのsheetをコピーしたものをABCというsheet名に替え、 それをbook2のsheetの後ろへ移動するというマクロをPersonalに作ろうとしていますが、 インデックスエラーとか【アプリケーション定義または、オブジェクト定義のエラー】とかインデックスエラーとか になります。 book1のsheet1とかは、マクロを使う場合は、固定的な名前でなくいろいろそのときどきでかわる名前ですが、 マクロを使って、そのsheetをコピーしたものをABCとしてbook2のsheetの後ろへ移動したいということです。 よろしくお願いします。

  • Excel名前定義なぜのこる

    他社からExcelファイルを頂きシートをコピー使用としたところ エラーとなりコピー出来ませんでした。 調べてみたところExcelの名前定義が残っていた為エラーとなっていました。 そこで数式→名前の管理から名前定義を消したのですが それでもシートのコピーが出来ず さらに調べてみたところ VBAを使い見えない名前定義を見えるようにして削除を行ったところ シートのコピーが出来ました。 質問1 Excelの名前定義なぜ見えない物が残るのでしょうか? 質問2 VBAを使う以外に名前定義が残っているというのが分かる方法がないでしょうか?

  • エクセルVBA、同名の<定義した名前>がある場合

    エクセル2010です。 Book_AのシートをBook_Bのシートに貼り付けようと思います。 Book_AとBook_Bに同じ名前の<定義した名前>があった場合、手作業でもマクロでも、シートをコピーしてそのまま他BOOKの別シートに貼り付けようとすると、 「移動またはコピーする数式またはシートには、移動またはコピー先のワークシートに 既にある名前<定義した名前>が含まれています。この名前を使用しますか?」 と聞いてきます。 この名前をそのまま使用したいので手作業の時は、[はい] をクリックすればいいだけなのですが、マクロで自動的に貼り付けをしていると、ここで中断されてしまいます。 ここをマクロで自動的に[はい] をクリックしたことにするのはどのようにすればよろしいでしょうか?

  • エクセルのシート名一括表示

    簡単な設定とは思いますが、エクセルの1つのブックに10個のシートがあります。 そのブックを開いた時、タスクバーに10個のシート名の表示方法はあるのでしょうか。シートの移動またはコピーでは、挿入先として一部のシート名しか表示されません。

  • Excelの名前の定義(削除)についての質問です。

    Excelの名前の定義(削除)についての質問です。 仕事で他の人が作ったExcelファイルを元に加工して使っていたのですが、どうも名前定義がされているらしく、シートのコピーをする度に、「移動またはコピーする数式またはシートには、移動またはコピー先のワークシートに既にある名前'ああああ'が含まれています。この名前を使用しますか?」と毎度定義されている名前の数だけ聞かれて困っています。 ※「ああああ」は当質問での仮の定義名称と仮定します。 「名前の定義」を見ても何もありませんし、当問題を検索してよく出て来る、VBAを使用した名前の一括削除マクロを実行してもまったく状況が変わりません。 ※Print_Areaが消されてかえってやっかいです。 完全解決出来る手順があればお願いします。 【利用環境】  Excel 2002 (10.2614.2625)  WindowsXP SP3

  • Excel 2007 名前定義の変更

    Excel2007で名前の定義のあるシートを同じブック内でコピーして、 コピーした側の名前を「名前の管理」から編集をしたいのですが、 範囲がシートになってしまっていて、ブックに変更したいのですができません。 何か方法ありますでしょうか?

  • エクセル 名前の定義 増える

    表題の通りですが、 名前を定義したシートをコピーした時に増えていくのは仕方ないとして、 テーブル化したセル内に名前を定義した後(参照範囲が=テーブル1[テーブル1]など)、 別の空白のシートを挿入、その空白のシートをコピーして増やすと名前の定義が増えます。 テーブル化せずに名前の定義をした場合は増えません。 Excel2016なのですが、これは仕様?バグ?どうなんでしょうか。 何もない空白のシートをコピーすると増えていくのがバグだと思わないと理解できないのです。

  • Excelでシートコピーすると幅が変わる

    閲覧ありがとうございます。 Excel 2019で「シートの移動またはコピー」で、シートを新しいブックにコピーすると、幅が変わってしまいます。 同じブック内だと変わらないようです。 どうやら、全くサイズを変更していないセルの幅も違うようです。 シートをコピーする作業はVBAで行っています。 解決方法が良くわからず、質問させていただきました。 ・Excelのオプション変更で解決する方法 ・違う環境で同じExcelブックのVBAを使っても、幅が変更されない方法 できればどちらもご教示いただきたいです。 よろしくお願いいたします。

  • エクセルで名前定義を消すには

    エクセルでシートをコピーすると名前定義を聞いてきます。数十個の名前の定義を消すにはどんな方法があるでしょうか

専門家に質問してみよう