• 締切済み

EXcel 定義した名前の一括変更と重複チェック

EXcelで、定義した名前を整理したいと思っています。 名前の管理でひとつずつ削除や編集をしていると時間がかかってしまいます。 効率的な作業方法をご教授いただけないでしょうか? 思いつく範囲で、これができれば…と思うのが 1)別の名前が重複して定義されていないかの一括チェック    名前の管理画面の範囲が同じ=AシートのA1セルに「あ」という名前のと「あいう」という2種類の名前が定義されている(?)場合があります。 そういったセルを一括で探す方法はないでしょうか? 2)複数の名前の一部を一括置換 「AAあ」「AAい」「AAう」という名前を「BBあ」「BBい」「BBう」という名前に変えたいと思っています。 「AA」の部分を一括で「BB」に置換する方法はないでしょうか? なにとぞ、ご教授のほど、おねがいします。

みんなの回答

回答No.1

http://www.moug.net/tech/exopr/0100001.html http://kokoro.kir.jp/excel/name-make.html この辺を見るに出来ないことはなさそうですが……

necoc1
質問者

お礼

ご回答、ありがとうございます。

necoc1
質問者

補足

ご回答ありがとうございます。 とりあえず、数式で使用している名前のリストは既に別シートに抽出はしています。 ([名前リストシート]というシート名にしました) ここから先をどうしたらよいのか… 「名前リストシート」上での検索で、複数の名前のついているセルや範囲はわかります。 が、 ここから先が… 「名前リストシート」上で、名前を削除したり置換で一括変更しても、 ブックやシートに定義された名前の編集がされる訳ではないので、意味ないですよね・・・(泣) 「名前リストシート」上での編集結果を、ブックやシートに定義された名前に反映する方法があればよいのですが・・・ また、数式に使用していない名前もありますので、それらも別シートに出したいのですが、その方法がわかりません。 2番目のリンク先は、セル範囲を指定して素早く名前を定義する方法ですね。

関連するQ&A

  • エクセルの名前の定義について。

    ご覧いただきありがとうございます。 エクセルの名前の定義についての質問です。 (1)【sheet1】 A2:A6に『aa』、 B2:B10に『bb』、 C2:C6に『cc』という名前を付けたとします。 ちなみにそれぞれのセルには文字列が入力されています。 (名前の定義の《範囲》はブックではなく、sheet1) (2)【sheet2】 B2:D6に『aa』、 B7:D15に『bb』、 B16:D20に『cc』と、sheet1と同じ名前を付けました。 それぞれB列・C列・D列には数字が入力されています。 (名前の定義の《範囲》はブックではなく、sheet2) ちなみにA列には、sheet1に入力されている文字列と同じものが入力されています。 A2:A6にはsheet1で『aa』と名前をつけた範囲と同じ文字列。 A7:A15にはsheet1の『bb』と同じ文字列。 A16:A20には『cc』と同じ文字列です。 ここからが本題です! (3)【sheet3】 A2に何らかしら関数を入れて、【sheet1】で作った名前(aaやbbやcc)が1つ表示されるようにしたとします。 そしてB2には、A2で表示された名前の中の文字列が1つ表示されるようにします。 (例えばA2に『aa』と表示されたら、B2には◯◯) 更にC2には、B2に表示された◯◯という文字列を使って、【sheet2】の名前『aa』の中のB列と、A列にある◯◯とが交差するセルに入力されている数字(図でいう(5))を表示させる関数を入力したいのです。(INDEXやINDIRECT、MATCH関数など…) 他に例えば、A2に『bb』(sheet1の名前)、B2に★★と表示されたら、C2には【sheet2】の名前『bb』の中のB列と、A列にある★★が交差するセルに入力されている数字を表示させたいです。 同じように、今度は、D2には、B2に表示された◯◯という文字列を使って、【sheet2】の名前『aa』のC列と、A列にある◯◯の交差するセルに入力されている数字を表示させたいです。 長々とややこしくてすみません… 説明分かりますでしょうか?? つまりは【sheet3】のC2・D2・E2に入力する関数が知りたいです。 自分なりに関数を入力してみたのですが、A2で表示された名前がsheet1での名前なので、sheet2の情報を引き出す事が出来ません。 わざわざsheet1とsheet2でシートを分けたのは、同じシート内で同じ名前が付けられないと思ったからです! どなたか分かりましたら教えて下さい! どうぞよろしくお願い致します。 ※ちなみに、貼付した図の『・』は以下省略の意味で使ってます。

  • エクセルの名前定義について

    こんにちは。 エクセルの名前定義についてわからないことがあります。 名前を定義するときに簡単な関数を使う方法はないでしょうか。 例えば、B1のセルの名前をA1のセルの内容にしたいときに B1の名前のところに「=A1」と言う風に参照したり、他の関数を 使える方法もあるなら知りたいです。 初歩的な質問かもしれませんが、ご教授のほどよろしくお願いします。

  • Excelで定義した名前の参照範囲を一括で変更したい。

    Excelで多数の名前定義をしたのですが、その参照範囲を一括で変更したいと思っています。 <例> 名前あ:A3~Z4 名前い:A5~Z6 名前う:A7~Z8 : : →これを全てA*~Y*に変更したい。 名前定義のリストを使用して出来ない物かと考えておりますが、妙案が浮かびません。 やはり一つ一つ選択して変更するしかないのでしょうか。。。 どうぞ宜しくお願い致します。

  • EXCELのセルに定義した名前を一括削除したい

    前任者から引き継いだEXCELのシートに不要となった名前があり、シートのコピーなどで名前を再定義するかいちいち聞いてくるので困っています。ひとつずつ削除すればよいのですが何シートにもなると大変です。 一括削除して必要なところのセルに名前を再定義しようと思います。 方法教えてください。

  • Excel 名前の定義

    Excel2010を使っています セル範囲に名前の定義をするとき 誤って範囲がブックとして設定されてしまいました そこでこれを削除したくて 名前の管理で削除をするのですが 次にまたこのファイルを開くと 依然この名前が残っています どうも私にはさっぱり訳が分かりません 要はこの名前を削除したいのですが どなたかアドバイスよろしくお願いします

  • エクセルの名前定義の一括削除の方法

    会社に数年前からあるエクセルファイルなのですが、 全てのセルに1,300以上の名前が定義されています。 これらの全てのセルの「名前の定義」を一括で削除することは可能ですか? これらの定義があるがために、その他ファイルからのコピーがうまくできません。

  • エクセル関数で名前定義を引用

    エクセル2002使用です。 IF関数で、名前の定義を利用したいのですがうまくいきません。 A1に数値「1」を入力するかしないかとします。 (A1:C1)を名前の定義で「範囲1」とします 各セルに文字が入力されています。 (D1:F1)を名前の定義で「範囲2」とします。 各セルはブランクのままです。 A1セルに数値「1」が入力されて時に、「範囲2」に「範囲1」がコピーされるようにしたいのですがどうすればいいのでしょうか? 範囲2=IF(A1=1,範囲1) ではだめですよね。。。。 よろしくお願いします。

  • Excel 2007 名前定義の変更

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

  • excel2003の vbaの名前定義について

    excel2003の vbaで、名前定義した範囲から、任意のセルの値を抜き出したいです。 例えば、Aという名前定義した範囲があるとします。 AはA1セル~A10セルの範囲です。 そして、たとえいばA3セルの値を取得したい場合。 名前定義した範囲を使ってどのように表現すればよいでしょうか?

  • 重複チェック

    マクロ初心者です。(エクセル2003使用) A列の管理番号が重複していたら、C列に☆をつけるようなマクロを作りたいのですが、うまくできません。 すみませんが、どなたか教えてください。 (Sheet1) A          B      C アカ154-7 アカ226-9        ☆ アカ446-0 アカ675-4        ☆ アカ669-8 アカ226-9        ☆ アカ118-5 アカ675-4        ☆ アカ226-9        ☆ (マクロ) Sub 重複() Dim 管理番号 As Variant Dim motoSht As Worksheets Dim セル範囲 As Range With Sheets("Sheet1") 管理番号 = Sheet2.Range("A2").Value Set セル範囲 = Range("A2:B65536").CurrentRegion.Find(管理番号, , LookAt:=xlWhole) If 同じ管理番号があったら Then            Range("A").CurrentRegion.Offset(2) = ☆ ElseIf Not セル範囲 Is Nothing Then MsgBox "管理番号は、重複していません" End If End With End Sub ご回答よろしくお願いいたします。

専門家に質問してみよう