• 締切済み

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

エクセルには、シートレベルとブックレベルの名前定義があることは、このコーナーで教えて頂きました。 有難うございます。 質問内容は、他のシートに設定されているシートレベルの名前を参照(例えば、シート名がsheet1の任意のセルに"=sheet2!セル名前"って式を入力している)しているときに、シートのコピーを行うと、#N/Aとエラーになってしまいます。 ちなみに自分のシート名を参照している場合は、シートのコピー後も更新されています。 改善方法ってあるのでしょうか? シートのコピーを考慮すると、他のシートのシートレベルの名前参照は出来ないってことなのでしょうか? あと、他のシートのシートレベルの名前を参照するときに、キーボードからは、シングルクォーティションが入力できませんが、入力する方法(必要があるのか?)はありませんか? よろしくお願いいたします。

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 vba_minaraiさん 詳しくは、おやりになっていることが見えていませんね。 まさか、VBAで行っているわけではありませんよね。 素朴な疑問として、 ・シート名がsheet1の任意のセルに"=sheet2!セル名前"って式を入力している セル名前って、A1 とかB1 とかじゃないのですか? 常識的に、名前定義は、そんな風にはつかわないですよね。 名前定義は、通常Application-ThisWorkbook のクラスにしても、Sheetのクラスにしても、いわば、中身は、数式(.Formula) を扱っているに他ならないのですから、シート・オブジェクトと名前定義の数式の内容に整合性なければ、エラーは起きます。 一旦、数式に置き換えて読んでみれば、ある程度分るはずですね。それに、VBAでは、あまり使われない理由は、数式文字列が、読み換わるだけだから、意味があまりありませんね。 シートを明示的に入れた名前定義は、そのシートに限定されるし、そうでない場合は、ブックに対して限定されますね。 それ以上は、やらないことですから、分らないですね。

vba_minarai
質問者

お礼

質問の仕方が悪かったみたいです。 も一度、自分で何がしたいのか?考えて見ます。 また、同じような質問をすることがあるかも知れませんが、宜しくお願い致します。 ありがとう御座いました。

  • edomin
  • ベストアンサー率32% (327/1003)
回答No.1

ここだけ・・・ 「あと、他のシートのシートレベルの名前を参照するときに、キーボードからは、シングルクォーティションが入力できませんが、入力する方法(必要があるのか?)はありませんか?」 Shift+7 で出ませんか?

vba_minarai
質問者

補足

早速のご回答有難うございます。 シングルクォーティション自体の入力は、Shift+7で出来ますが、エンターキーを押してセルをみると、削除されています。

関連するQ&A