• ベストアンサー

エクセル名前BOX変更

エクセルの名前BOXを一括で変更する方法があれば教えてください。 やりたいことは例えば A1のセルBOXの名前をりんご1とするとして、 A2のセルBOXはりんご2、A3はりんご3という具合に セルBOXの名前に「名称+一連番号」を順につけていきたいのです。 エクセルは2007です。 よろしくおねがいします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

セルの一つ一つにそれぞれ異なる名前を定義する,エクセルの一般機能での操作方法はありません。 ご質問の直接の回答として: マクロを使い,ご相談でヤリタイ事をその通りにやらせることはできます。 手順: ALT+F11を押す 現れた画面でCtrl+Gを押す 「イミディエイト」というウィンドウが現れるので, for i = 1 to 10 : cells(i, "A").name = "りんご" & i : next i と記入し,Enterキーを押す ファイルメニューから終了してエクセルに戻ると,A1:A10にそれぞれ名前が付いている。 もうちょっと一般操作の範疇で出来ることとして: A1:A10の10個のセル範囲を選び,その10個のカタマリに「りんご」と名前を定義する 他のセルで例えば =りんご1 と名前で参照したかった代わりに, =INDEX(りんご,1) とするとりんご1 =INDEX(りんご,5) とするとりんご5を,それぞれ利用するのと同じになります。 =INDEX(りんご,ROW(A1)) と記入して下向けにコピーすれば,りんごの1,2,3…10までになります。

daiettosur
質問者

お礼

イミディエイト画面で入力するとすんなりうまくいきました!! ありがとうございます!

その他の回答 (1)

回答No.2

'セルごとに名前を付ける 'セルに設定されている値(文字列)を名前にすることもできる Option Explicit Sub NameCell() Const xBase = "りんご" Dim xBox As Range Dim kk As Long For Each xBox In ActiveSheet.UsedRange kk = kk + 1 ' xBox.Name = xBox.Value xBox.Name = xBase & kk Next xBox MsgBox kk & "コ、アッタよ!" & vbNewLine & "全部名札つけたよ!!" End Sub

daiettosur
質問者

お礼

なるほど。 マクロ勉強中なので構文の意味するところを解るようにがんばってみます。 ありがとうございました。

関連するQ&A