• ベストアンサー

エクセルで、シートの名前を変えても式にエラーが出ないようにしたい

「エクセル2000」を使用しています。 別のシートのデータを 関数でひっぱってきているとき、 後からシートの名前を変更したりすると エラーになってしまいますよね? シートの名前を変更したら、同時に 関数の中のシートの名前も変更されるように… というのは、出来ないのでしょうか? やはり、ひとつひとつ書き換えていくしか ないのでしょうか?

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

  • ベストアンサー
  • come2
  • ベストアンサー率32% (594/1811)
回答No.4

>なってしまいます…(T-T)。 >=VLOOKUP(A2,Sheet1!A2:D5,2) >で、「sheet1」の部分が、 >「#REF」になってしまうのですが…。 ごめん、再現できない。 今やってみたんだけど、ちゃんと新しいシート名に変わります。 もちろんexcel2000 変更したいシートのタブを選んで、右クリックで名前の変更だよね #REFになるってことは、削除しちゃってるとしか思えん。

mami0810
質問者

お礼

変わりました! すみません…。 「失敗しても大丈夫なように」と、 シートをコピーしたりイロイロしている うちに、削除していたのかもしれません。 お騒がせして 本当にスミマセンでしたっ m(_ _;)m 回答、ありがとうございました。

その他の回答 (3)

  • makidan
  • ベストアンサー率47% (50/106)
回答No.3

シートを削除してしまうと#REFと表示されて関数がくずれてしまいますが、シートの名前を変更した場合は、 ちゃんと式の方も名前が変更されます。 どのようにシート名を変更していますか? シート名をダブルクリックして黒く反転させて名前を変更しているんですよね。 表が複雑なのかしら。。 ともかく、come2さんと同じ意見でございます。

mami0810
質問者

お礼

変わりました! すみません…。 「失敗しても大丈夫なように」と、 シートをコピーしたりイロイロしている うちに、削除していたのかもしれません。 お騒がせして 本当にスミマセンでしたっ m(_ _;)m 回答、ありがとうございました。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 範囲に名前を定義すればいいと思います。 まず、参照範囲(例だと、Sheet1!A2:D5)を範囲選択して、[Ctrl]+[F3]を押すと、名前定義のダイアログが表示されます。 そうしたら、そこで適当な名前を付けます。 (仮に、「元データ」とします。) そして、関数を、 =VLOOKUP(A2,元データ,2) に変更します。 こうすれば、「Sheet1」の名前を変更しても、名前定義の範囲も対応して変更されるので、大丈夫だと思います。

mami0810
質問者

お礼

変わりました! すみません…。 「失敗しても大丈夫なように」と、 シートをコピーしたりイロイロしている うちに、削除していたのかもしれません。 お騒がせして 本当にスミマセンでしたっ m(_ _;)m 回答、ありがとうございました。

  • come2
  • ベストアンサー率32% (594/1811)
回答No.1

>エラーになってしまいますよね? ならないでしょ? 関数ですよね、VBA(マクロ)じゃなくて.... ちょっともう一度やってみて

mami0810
質問者

補足

なってしまいます…(T-T)。 =VLOOKUP(A2,Sheet1!A2:D5,2) で、「sheet1」の部分が、 「#REF」になってしまうのですが…。

関連するQ&A

  • エクセルのシートコピーで名前の重複エラー

    エクセルのシートコピーで名前の重複エラー いつもお世話になっております。既出だったら申し訳ありません。 エクセルのシートをコピーしようとすると、以下のようなエラーが出ます。 「移動またはコピーしようとしている数式またはシートには、移動またはコピー先のワークシートに既にある名前○○が含まれています。この名前を使用しますか?」 そこで、「はい」を選択しても、また違う名前でエラーが出ます。 それが20回ほど続いて、やっとコピーが出来る状態です。 調べてみると、[挿入]-[名前]-[定義]から該当する名前を削除すればよいと書かれていたのですが、エラーが出る名前は全て一覧に存在しないので、削除することができません。 どのようにすればこのエラーメッセージを解消する事が出来るでしょうか。 よろしくお願い致します。

  • VBEでシートコピーすると特定の名前定義にエラー

    VBEで、毎日変動するデータを取り出し、前日データからコピーしてテンプレにいれこんでいます。 これまで問題なく作動していたのですが、テンプレのデザイン更新をしてから、名前の定義が上手くコピーされなくなりました。 仕様としては 前日の名前ブックをコピー  →当日の名前で新しいブックを作成  →1枚目のシート(名前が前日の日付になっている)をコピーしてシートの名前を当日に変更  →当日のシートにCSVで取り出したデータを貼り付けて当日のデータで数字を算出 となっています。 この時、シートには四種類の 名前定義がされており、同名で各シート毎に参照しています。 四種類のうち、ひとつだけ名前の定義内に別の名前定義を含めた関数で定義しているものがあるのですが、この特定の名前定義のみにエラーが出ます。 #N/Aのエラーです。 どなたかご教授いただければ幸いです。 よろしくお願いします。

  • エクセルのシートに名前は付けられますか?

    エクセルの中に「シート」ってありますよね?アレに名前を付けることは出来ますか? 長くこのファイルを使ってないと、「シート」の存在を忘れてしまうかもしれないので、「目に見える印」が欲しいです。 もしダメならば、シート1枚1枚を「独立したファイル」にすることは可能ですか? 単純に「コピー&ペースト」すると、変更したセルの大きさまで反映されません。 パソコン初心者なので、つたない文章ですが、ご回答お願いいたします。すいません。

  • エクセルのシートのリンクエラーについて

    エクセルのシートを使いシートAとシートBを作成し データをリンクしましたがエラーが 起こります。 シートAではデータの入力を シートBでは印刷をするように設定致しました。 ですが シートAの入力画面のセルのデータを切り取りして別のセルに貼り付けされてしまうとシートBの印刷用のセルにエラーが出てしまいます是を解決するには 数式を替えればよろしいのでしょうか ちなみにシートBのセルには次の式を使用中です =IF(シートA!A1="","",シートA!A1)  まとまりのない質問に成ってしまいましたが 宜しくお願い致します。

  • エクセルの関数を別シートから

    エクセルで関数を使うときに、別のシートからそのシートへデータをもってきて使いたいのですが‥ VLOOKUPを使うときに、となりのシート(別のシート)からデータをもってくるときには、どのように設定したらよいのでしょうか。

  • エクセル2013 シートの名前の変更ができません

    エクセル2013を使っています。 シートを保護していますが、シートの名前を変更しようと保護を解除しましたが、名前の変更ができません。 名前の無変更の項目がグレーになっています。 どうしてでしょうか。

  • (エクセル)Indirect関数で、ハイフン"-"が付いた名前のシート

    (エクセル)Indirect関数で、ハイフン"-"が付いた名前のシートは参照不可でしょうか? Indirect関数で、ハイフン"-"が付いた名前のシートは参照しようとするとエラーになります。ハイフンを除くと正常に参照します。 ハイフン"-"が付いた名前のシートは参照は無理なのでしょうか?シート名を変えられればいいのですが、他の人間が通常メンテしている大きいファイルの為、変更が難しい状況にあります。 尚、ハイフンはシート名の中間についており、弊社の扱っている商品のモデル名と型式名の間に入っているもので、この形が社内での一般的な表現方法となっています。 シート名: アルファベット1文字+数字2~3桁+ハイフン+型式(1~2桁数値)

  • エクセルのシート名をセルにコピーさせたい

    エクセルのシートをそのままコピーしてページ数を増やして新たなシートを作っています。たとえば「Aさん」のシートをコピーして「Bさん」のシートを新しく作るんですが、現在はその作業ごとにシート名の変更とシート内のセルにある名前を変更しています。それは1箇所だけですませてますが、シートの名前を変更するだけで、同時にセル内のデータも一緒に変更できる方法はないのでしょうか?よろしくお願いします。

  • エクセル2000のシートの移動

    もし前に同じことがあったらすみません。 エクセル2000を使用しているのですが、2つ同時に作業している時に下のほうのシートのタイトルのところを右クリックして別のシートへ移動したいときに、その別のファイルの名前が選択項目に出てこないのですが・・・ 何か初歩的なことかもしれませんが教えてください。

  • エクセルのシートのデーターの所がTODAY関数の日付なんですがシートの

    エクセルのシートのデーターの所がTODAY関数の日付なんですがシートのデーター変更などした時の日付が残るようにしたいのですが何か良い関数か方法がありますか

専門家に質問してみよう