• 締切済み

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

エクセルには、シートレベルとブックレベルの名前定義があることは、このコーナーで教えて頂きました。 有難うございます。 質問内容は、他のシートに設定されているシートレベルの名前を参照(例えば、シート名が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

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

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

  • エクセル名前の定義で行挿入で追従させたい

    修正中 名前の範囲を可変にしたい 例えば、C4セル~E17セルに「あああ」という名前を定義しており、続いてC19セル~E32セルに「いいい」という名前を定義し、さらにC34セル~E47セルに「ううう」という名前を定義していたとして、この中のいずれかの行を増やすことがあるとします。 例えばC4セルからE17の間に1行増やしたとすると、通常名前の範囲が意図した所より1行ずれてしまいますが、自動で名前の参照範囲を変更して、C4セル~E18セルが「あああ」、C20~E33セルが「いいい」、C35~E48セルが「ううう」など自動で追従させるにはどうすればよろしいでしょうか? さらにもし、自動で追従させることができたとして、名前を定義したシートは、1週間毎にシートを増やしていくのですが、ブックレベルで名前を定義しておけばよいのでしょうか?ブックの中には、元データのようなシートも存在しており、そちらには名前の定義は必要ないのですが、ブックレベルにした場合悪影響がでないかな?というのがあります。かといって、シートレベルで名前を定義しておくと、シートを増やす度に名前の定義が増えていくので、それもどうかな?と思っています。 状況によると思いますが、名前がどんどんシート毎に増えていくのは好ましくない気がするんで アクティブシートでしか名前の定義を使用しないなら、ブックレベルで名前を定義しておけばよいですよね? お手数をおかけいたしますが、よろしくお願いいたします。

  • エクセルのマクロを使ってシートごとに名前をつけて保存したい

    マクロ初心者です。宜しくお願いします。 1つのブックにシートが複数あります。 それぞれシートをコピーして新しいブックを作成し そのブックに名前をつけて保存したいです。 例えばブック名が「売上管理」でそのシートが「A店」「B店」「C店」と3シートあるとします。 シート名:A店を他のブックにコピーしてマイドキュメントに名前を付けて 保存する場合のマクロを教えてください。 ちなみにその際のブック名は「シート名+任意のセル(D2)」と できれば一番助かります。 ちなみにD2のセルにはToday関数が入ってます。

  • 【長文です】Excel2000 名前の定義を計算式に利用していますが、急に参照できなくなりました。

    初めて質問させて頂きます。 仕事で使用しているExcelファイルの様子がおかしく、困っています。 該当ファイルは以下の内容です。 ・WinXP・Excel2000 ・商品コード、商品名など商品データベースとして作成 ・シートは全3枚  ⇒Sheet1は約3000件、Sheet2は約100件、Sheet3は約250件のデータがあります。(商品の使用用途により、シートを分けています) ・このブックを参照元として、同じ書式のExcelブックを作成します  その際、参照先ブックはIFとVlookupを使って商品コードを入力すると商品名他の情報が表示されるようにしています ・Sheet1のデータ部分に「List1」、Sheet2のデータ部分に「List2」と名前を定義し、参照先の計算式で名前を利用しています。 ・Sheet1とSheet2には、データを検索するためのマクロを付けています。どちらもFor…Nextを使って商品名で検索し、検索を解除するも のです。コードや価格等の検索はオートフィルタを利用します。 このファイルは、今日の午前中まで正常に利用できましたが、正午すぎに急に以下のような症状がでました。 ・参照先ファイルに商品コードを入力しても、全てのコードでエラーになる(エラー表示は"NAME?"もしくは"N/A")  ⇒参照元に該当データがあることを確認しています。 ・既存の参照先ファイル(商品名等が正常に入力してあるもの)を開き、データを更新すると、全件エラー表示になる(エラー内容は上記 と同じ) 現在、このような状況です。 ・参照元ファイル(該当ファイル)で名前の定義がされているセル範囲の確認をしました。 ⇒通常、名前ボックスで定義された名前を選択すると、定義されたセルまたはセル範囲が選択されると思いますが、まったく選択されません。 それどころか、定義した同じ名前で同じシート内の別のセルが定義されてしまいます。(名前ボックスに同じ名前が2つ並んだ状態です) いっそのこと名前の定義をしなおそうと思い、挿入⇒名前⇒定義で定義済みの名前2つを削除しようとしましたが、削除されません。(選択した名前のセル範囲は消えますが、名前は消えずにボックス内に表示されたままです。 ・挿入⇒名前⇒定義で再度、セル範囲を指定しなおしましたが、状況はかわりませんでした。 ⇒このサイトの過去ログ・ネット上の他サイト・マイクロソフトのサポートなどいろいろ検索してみましたが、こういうケースの対処法をみつけることができませんでした。念のためウィルスのオンラインチェックもしてみましたが、ウィルスは検索されませんでした。 ・参照元の計算式の内容から、名前を定義したセル範囲(Vlookupでセル範囲として利用)が正常に定義されていないため、エラーが表示されるのではと考えていますが、参照先の計算式を名前を使用しない式に変えようと思うと、過去数年分は見直さなくてはならないので、他の方法を探しています。 ・この症状がでる前(今日の午前中)に作業していた人は、名前の定義やマクロを修正するなど、通常業務以外のことは何もしていないとのことでした。 なぜ、突然こんなことになるのか検討がつきません ・現在定義している名前「List1」「List2」が今まで通りのセル範囲を定義できる方法(セル範囲の修正方法)をご存知の方、またこういうケースに遭遇したことある方、何か他にアイデアがある方など、回答どうぞよろしくお願いします。 長文で申し訳ありませんでした。 よろしくお願いします。

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

    エクセル2007の名前の定義・管理について教えてください。 あるシート(Aシート)のセルの入力規則に他シート(Bシート)の範囲(B2:B4に赤・青・白を入力されている)を定義した名前(名前を色とします)を使用しています。 別途違う目的のためBシートをコピーし、若干修正してCシートを作り、また、その後、Cシートをコピーし、修正してDシートを作りました。ただし、Cシート、Dシートの名前を定義した範囲(赤・青・白)は全く修正していません。この時点で名前の管理から定義された名前を見ると「色」という同じ名前が3つ作成されております。(参照範囲は、それぞれB~Dシートのものと異なっています。) で今回、Dシートが一番最新のもので利用しているので、Dシートの名前を定義した範囲(B2:B4の赤・青・白)を(B2:B5の赤・青・白・緑)と変更したところ、Aシートの入力規則の名前は色ですが、(赤・青・白)しかリストにでてきません。(緑が出てこない)。色という名前が3つあるのがいけないのだと思い、Dシートを参照している以外の「色」の名前を削除したら、Aシートの入力規則は色と入力されているにもかかわらず、全く機能しなくなってしまいました。 いろいろ調べてみたのですが、対処法がわからないので教えてください。なぜ、Dシートを参照している名前の「色」は、入力規則に入力されているにもかかわらず、リンクしてくれないのでしょうか? そもそもシートをコピーしても色という名前が3つできても、最初にリンクしているBシートの名前の「色」しか参照してくれないのでしょうか?なにか方法はありますか? 上手く文章で伝えることができずわかりづらいかとは思いますが、 よろしくお願いします。

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

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

  • Excel 2007 名前定義の変更

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

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

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

  • 【エクセル】名前の定義

    エクセルの名前の定義について教えてください。 数式が組んである表があります。 他のシートからの参照も多く、そのままだと分かりにくいため、参照元のセルに名前をつけました。 しかし、数式を確認したところ、名前になっていません。 後から名前をつけても反映されないのでしょうか? 反映する方法があれば教えてください。 よろしくお願いいたします。

  • 【Excel2010】『名前の定義』の削除について

    ・数式入り ・シートの保護あり ・マクロ入り   マクロ1:シートAに、同ブック内の他シート(B~複数)から任意の値を引用   マクロ2:任意値を削除した際の値クリア   マクロ3:シートB~の任意のセル値を、シート名に反映   マクロ4:シートB~、シート保護の解除⇔保護 (ボタン配置にて)   マクロ5:入力値の一括クリア (ボタン配置にて) 上記のブック内において、[sheet1]を選択>コピー では問題ないのですが、 [sheet1][sheet1(2)]… と複数枚のシートを選択>コピー した際に ---------------------------------------------------------------------- 『移動またはコピーしようとしている数式またはシートには、移動またはコピー先のワークシートに既にある名前'●●'が含まれています。この名前を使用しますか? ・コピーまたは移動先のシートに定義されている名前を使用する場合は、[はい]をクリックします。 ・数式またはワークシートで参照する範囲の名前を変更する場合は、[いいえ]をクリックし、[名前の重複]ダイアログ ボックスに新しい名前を入力します。』 ---------------------------------------------------------------------- というポップアップが出ます。 [はい]で回避の後、 【名前の管理】で確認したところ、添付のようになっており選択不可の状態ですが、 その下にある【数式で使用】の『▼』をクリックすると、該当の名前が表示されます。 (他の対象方法に上がっていた、シート左上の『名前ボックス』にも名前は表示されていません) 下記も参考に試しましたが、解決にいたりません。 https://okwave.jp/qa/q6750092.html http://trash-area.com/archives/677 このポップアップが出ないようにするには、どのようにすればよろしいでしょうか。 ※お恥ずかしい話ですがマクロは超・初心者で、ご教示いただいたコードを一部改訂しながら使うレベルです。 質問内容に不足がありましたら、そちらもご指摘いただきたく思います。 よろしくお願いいたします。

このQ&Aのポイント
  • ZERO ウイルスセキュリティ 3台 ダウンロード版の購入時に2台目で台数オーバーとなりエントリーできない問題が発生しています。
  • ソースネクスト株式会社の製品・サービスであるZERO ウイルスセキュリティ 3台 ダウンロード版において、2台目での購入時に台数オーバーとなる問題が発生しています。
  • ZERO ウイルスセキュリティ 3台 ダウンロード版の購入時に2台目で台数オーバーとなる問題が発生し、エントリーすることができません。
回答を見る

専門家に質問してみよう