- ベストアンサー
【エクセル】名前の定義
エクセルの名前の定義について教えてください。 数式が組んである表があります。 他のシートからの参照も多く、そのままだと分かりにくいため、参照元のセルに名前をつけました。 しかし、数式を確認したところ、名前になっていません。 後から名前をつけても反映されないのでしょうか? 反映する方法があれば教えてください。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> 後から名前をつけても反映されないのでしょうか? 反映されないと思いますから、後から置換で変更してください。 たとえば $A$1:$A$6に「対象範囲」と名前を付けた場合 検索する文字列 $A$1:$A$6 置換後の文字列 対象範囲
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17070)
興味を持ったので、VBAでやってみた。参考に。 例データ A2:B4 2 4 3 4 3 1 かつ D4:F4 12 23 11 ーーー 下記A7,D7,A11(関数式を入れるセル)は,どこのセルでもよい。 関数式 A7に =AVERAGE(A2:B4) D7に =SUM(D4:F4) A11に =SUM(A2:B4) 入れたとする。 ーー 標準モジュールに Sub test01() Range("A2:B4").Name = "範囲A" Range("D4:F4").Name = "範囲B" 'ーーーー For Each cl In Range("A1:G11") ’多めのセル範囲を指定 If cl.HasFormula = True Then MsgBox "セル" & cl.Address & "式あり" & cl.Formula cl.Formula = Replace(cl.Formula, "A2:B4", "範囲A") cl.Formula = Replace(cl.Formula, "D4:F4", "範囲B") End If Next End Sub 上記を実行。 関数式の中のセル範囲が、範囲名に置き換わり、結果もその前と変わらず。 == こんな ・式のあるセルが数少ない例、関数も簡単な例 ・名前定義数が数少ない例 なら良いが、(これなら手動でもできるだろう) ・他シート(他ブック)参照あり例 ・式の中の番地が、絶対参照や相対参照が入り乱れている例 参考 https://www.moug.net/tech/exvba/0050094.html など複雑化すると、とてもVBAのコード作成が難しくなるように感じた。 結論は、名前定義を後に行い、事後式変換する、にはこだわらない方、やめておいた方が、よいと思った。
お礼
ご回答ありがとうございます! お礼が遅くなってしまい、すみません。 VBA、すごいですね。 私もできるようになりたいと思いつつ、ぜんぜん理解できません… 他シート参照、絶対参照、相対参照入り混じっているので、やめたほうがよさそうですね。
- iyonohanamuko
- ベストアンサー率54% (6741/12375)
置換機能を使用するくらいしか無いかもしれませんね。
お礼
ご回答ありがとうございます! やはり置換ですか! 試してみようと思います!
お礼
ご回答ありがとうございます! 反映されないんですね… 次からは先に名前をつけるのを忘れないようにします。 置換!その手がありましたか。 一度試してみようと思います!