• 締切済み

excel:コピーしたときに、式が書き変わってしまうのを防ぎたい

度々すみません。。皆様のお知恵をお借りしたいです。 「例題1.xls」というファイルの あるシートに      =電話!A1 と、「"電話"シート」のA1を参照するような式を書きました。 同じように、 「例題2.xls」というファイルの あるシートに上記のファイルから式をコピーしたところ、      =[例題1.xls]電話!A1 と、なってしまいました。 式をコピーしたときに、 コピー元ファイル「例題1.xls」の「"電話"シート」を参照するのではなく、 自分のファイル「例題2.xls」の「"電話"シート」を参照したいのですが、 どうすればよいでしょうか。 win2000、excel2000です。よろしくおねがいします。

みんなの回答

回答No.4

シート全体を選択して[編集]-[リンクの設定]~リンク元の変更で自ファイルを指定すればよいのでは…?

turumau
質問者

お礼

回答ありがとうございます! できましたっ! この機能、知りませんでした! 一瞬で目が覚めましたっ!(仕事中…) セル指定の$みたいに、 関数のオプションで、式を固定することができるかなぁと探していたのですが 無理そうですね。 このやり方でいこうと思います。 ありがとうございました。

  • MSZ006
  • ベストアンサー率38% (390/1011)
回答No.3

[例題1.xls]というのを消す際に、メニューの「編集」→「置換」を使えば少しは手間が省けます。「検索する文字列」に[例題1.xls]を入力、「置換後の文字列」には何も入れないで「すべて置換」を押します。

turumau
質問者

お礼

回答ありがとうございます! やはり「後から消す」という手順を踏むしかないということですね。 「[ファイル名]を消すマクロ」なるものを作ると良いでしょうか。。 不精な私はVBA&マクロ食わずだったので、これから勉強したいと思います。 蛇足ですが実際の式は下記のような感じです。 (コピー前) =IF(VLOOKUP(VALUE(MID(CELL("filename",R1C1),FIND("]",CELL("filename",R1C1))+1,31)),棚卸表!R[3]C[-1]:R[32]C[6],3)="","",VLOOKUP(VALUE(MID(CELL("filename",R1C1),FIND("]",CELL("filename",R1C1))+1,31)),棚卸表!R[3]C[-1]:R[32]C[6],3)) (コピー後) =IF(VLOOKUP(VALUE(MID(CELL("filename",R1C1),FIND("]",CELL("filename",R1C1))+1,31)),[材料管理_IC.xls]棚卸表!R[3]C[-1]:R[32]C[6],3)="","",VLOOKUP(VALUE(MID(CELL("filename",R1C1),FIND("]",CELL("filename",R1C1))+1,31)),[材料管理_IC.xls]棚卸表!R[3]C[-1]:R[32]C[6],3)) ごちゃごちゃうるさい式ですが(要領が悪いとも言います^^;) 要は[]内がいらないわけです。

  • Good-S15
  • ベストアンサー率33% (149/439)
回答No.2

こんにちは。 #1の方が回答されている方法でもイイですし、 (形式を選択して貼り付けから、「数式」をチェックしOKボタンクリック) >=電話!A1 >と、「"電話"シート」のA1を参照するような式を書きました。 とあるので、ご自分で書き込んだのならば、 単純に、 =[例題1.xls]電話!A1 の [例題1.xls]を消せばイイのではないでしょうか?

turumau
質問者

補足

回答ありがとうございます! 質問では簡単にひとつの式を書きましたが、 実際は複数行に複雑な関数が入力されており、 ひとつづつ消して行くのはつらいです。。 しかも30個くらいのファイルに、シートを丸コピしたいので 手間を増やしたくないという理由があります。

  • Mizyu
  • ベストアンサー率41% (245/593)
回答No.1

貼り付けのときに右クリックして「形式を選択して貼り付け」を選んでやればできると思います。

turumau
質問者

補足

回答ありがとうございます! 「形式を選択して貼り付け」ですと、 「数式」選択では同じ結果になりますし、 「値」選択では式はコピーされないですよね。 うまくいっている例は、セルコピーではなく、 セルの中の文字コピーなのですが、 そうすると1セルづつコピペしなければなりません。。 私が勘違いしているようでしたら申し訳ありません。

関連するQ&A

  • エクセル2010 式だけ新しいbookにコピー

    よろしくお願いします。エクセル2010で以下のようなことをできないでしょうか? A.Xls というファイル名のシート1に、シート2のC1~C3の合計を出す SUM(Sheet2!C1,Sheet2!C2,Sheet2!C3) という式が入っています。他のファイル(たとえばB.Xls)でもシート2のC1~C3を足したいのです。 A.Xlsのシート1をコピーしてB.xlsのシート2のC1~C3を足せるようにしたいのです。 普通に式をコピーすると SUM([A.xls]Sheet2!C1,[A.xls]Sheet2!C2,[A.xls]Sheet2!C3) というようにA.xlsのファイルを参照します。 これをコピーしたときに、コピー先のファイルを参照するようにできないでしょうか? SUM([B.xls]Sheet2!C1,[B.xls]Sheet2!C2,[B.xls]Sheet2!C3) となるようにしたいのです。 同じ形式のファイルが数百あり、それを同じ形式で整理していきたいのです。 一つ集計の見本シートを作ってそれを他のファイルにコピーしていけば いちいち同じ式をすべてのファイルに書いたりしなくてもいいのではと思っているのですが できないでしょうか? やはり同じ作業をすべてのファイルで行わなければいけないでしょうか アドバイスを頂ければと思います。

  • エクセルでの式のコピー方法

    A、B二つのファイルがあり、 ファイルAのシート1にある式をまとめてファイルBのシート1にコピーしたいです。 しかし、ファイルをまたいでコピーすると式の中に [ファイルA]のように参照するファイル名が入り、元のファイルAにある式を参照してしまいます。 コピー→形式を選択して貼り付け、を見ても良く分かりません。 どのようにしたら、式のみをそのままコピーできるのでしょうか? よろしくお願いします。

  • Excel2007でグラフをコピーする方法

    Excel2007でグラフの参照場所?のコピーをしたいと考えています。 例えば、どちらもA1~B10くらいまで数値データが入っている、data1.xlsとdata2.xlsという2つのファイルがあったとします。 このdata1.xlsとdata2.xlsは、データの配置場所は同じですが、データの数値は違うものです。 data1.xlsで、縦軸をA1~A10に、横軸をB1~B10としてグラフを作り、これと同じものをdata2.xlsでも作りたいと思います。 ところが、data1.xlsのグラフをコピーしてdata2.xlsに貼り付けても、data1.xlsのデータを参照してしまい、data2.xlsにもdata1.xlsとまったく同じグラフが出来てしまいます。 そうではなく、data1.xlsのグラフの書式?(データの参照する場所)だけをコピーするにはどうすればよいのでしょうか。

  • VBSでExcelシートのコピー

    VBSである決まったExcelシートを別なExcelファイルにシートコピーできる方法はないですか? やりたいことは、Excelファイル「A.xls」内の「Sheet1」というシートをExcelファイル「B.xls」の一番末尾に「Sheet1」をコピーする、です。 (Excelのシート名上で右クリック→「移動またはコピー」→移動先ブック名を選択→「末尾へ移動」、「コピーを作成」にチェック、と同じことをVBS上で行いたいのですが。)

  • (Excel関数)別シートへのコピーについて

    Sheet1のデータをSheet2に関数で集計した表を作成。 (Excel2003使用) 次にsheet3のデータを参照にしたsheet4を作りたいのですが、 sheet2の関数をsheet4にコピーすると関数の参照元はsheet1に なってしまい、計算式の一つずつの参照元をsheet3に 直さなければなりません。 全部で10シートあるので、時間がかかりすぎて困っています。 何かよいコピー方法か、又は計算式の参照元だけを 一括変更できるような方法はないでしょうか。 ご存知の方がいましたら、お知恵を貸して下さい。 お願い致します。

  • EXCELで別のブックから式をコピーしたときにブック名がついてきてしまうのですが

    EXCEL2003を使用しています。 ブックAAAのシートBBBからSUM(A10:B20)というような式をコピーしたのですが、参照先が SUM([AAA.xls]BBB'!A10:B20) と、いうような形になり、ブック名とシート名が入ってきてしまいます。 ブック名とシート名はつけずにそのままSUM(A10:B20)の形でコピーしたいのですが、何か方法はありますでしょうか。

  • EXCEL2007です。

    EXCEL2007です。 A1-A6まで入力欄があります。 A1は必須入力で、A2~A6が任意入力になっています。 A3が空白で無い場合は、Sheet1、2を別のファイルにコピー。 A4が空白で無い場合は、Sheet1-3を別のファイルにコピー A5、A6はそれぞれSheet5~6に対応させたいです。 ちなみに、A2が空白の場合は、A3-A6は必ず空白、A3が空白の場合は、A4-A6は必ず空白になります。 最後にコピーしたファイルは関数が入っていますので、全て値のみ貼り付けをし、ファイルネームを 日付.xlsにしたいと思っております。 どうかお知恵を拝借ください。 よろしくお願いします。

  • EXCEL2007でシートをコピーすると、オブジェクトの大きさが変わってしまいます。

    エクセル初心者です。過去に同じような質問がありましたら申し訳ありません。 WindowsVista・EXCEL2007を使用しています。 「.xls」で作成したエクセルデータのシートをコピー・移動すると 元シートに貼り付けてあったオブジェクトが大きくなってしまいます。 これは何が原因で、どうしたら大きさが変わらずコピーすることができるでしょうか?

  • Excelの数式コピー

    お世話になります 過去の質問とちょっと違うので、新規に質問させてください。 XXX.xlsにはシートAAA、シートBBBがあり、 シートBBBにはシートAAAへの参照や数式が多数記載されています。 YYY.xlsにもシートAAA、シートBBBがあり、 シートBBBにはシートAAAへの参照や数式が多数記載されています。 YYY.xlsのシートBBBにXXX.xlsに定義されているのと同じ式を範囲指定でコピーしたいのですが、 「型式を選択して貼り付ける」の「数式」を選んでも、 各セルの参照が下記の様にXXX.xlsを参照してしまいます。 ='[XXX.xls]AAA'!F21 自分のファイル(YYY.xls)のシートAAAを参照するように、純粋に式だけを範囲指定でコピーする方法を教えていただけないでしょうか。

  • エクセルマクロ コピー元と貼り付け先を指定してコピー&ペーストを実行するマクロ

    単刀直入にやりたいことを述べます。 Cドライブと仮定します。3つのBOOKがあります。 それぞれ ----- BOOK1.xls「○○Sheet」・・・(実行するファイル)   A 1 BOOK2.xls「△△Sheet」・・・(コピーするファイル名の指定です) 2 A2:E2・・・(コピーするセル範囲の指定) 3 BOOK3.xls「□□Sheet」・・・(貼り付け先のファイル名の指定です) 4 A5・・・(貼り付け先のセルの指定) ----- BOOK2.xls「△△Sheet」・・・(コピー元ファイル)   ABCDE 1 あいうえお 2 かきくけこ 3 ・・・・・ ----- BOOK3.xls「□□Sheet」・・・(貼り付け先のファイル)   ABCDE 1 ・・・・・ 2 かきくけこ・・・(貼り付け) 3 ・・・・・ ----- >やりたいこと BOOK1.xls「○○Sheet」のA1のセルの値とA2セルの値を参照し、 その該当BOOKのセル範囲(BOOK2.xls「△△Sheet」のA2:E2)をコピーして、 BOOK1.xls「○○Sheet」のA3のセルの値と、A4セルの値を参照し、 その該当BOOKのセル範囲(BOOK3.xls「□□Sheet」のA5)へペーストする。 別のブックの指定したセルの値を別のブックの指定したセルへ貼り付けるだけなんですが、 以前関数を使って似たような事をしようとしたのですが、うまくいかなかったので、マクロならできるのでしょうか。 よろしくお願いします。(ちなみにエクセル2000又は2003です)

専門家に質問してみよう