アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excelでブックをまたいでシートをコピーした時に、
元のブックを参照しないようにしたいです。

BOOK_AというブックのシートにBOOK_Aのブック内のセルを参照する式が
ある場合、そのシートをBOOK_Bというブックにコピーすると、
式の中の参照先のセルを示す部分に自動的に[BOOK_A]が追加されて、
BOOK_Aを参照してしまいます。
ここではBOOK_B内のシートを参照してほしいので、そのままの式で
コピーしたいのですが、可能でしょうか?

よろしくお願いいたします。

A 回答 (4件)

グラフのシートとデータのシートを同時にコピーすれば良いのですが


グラフのシートのみコピーしたいのですか?
その場合、SERIES式のブック名以外は同じで良いのですか?

グラフのシートをコピー後に
Series式の、Book名を書き換える、マクロを組んでみました。
グラフを選択しておいてマクロを実行してください。
Book名は実際の物に書き換えてください。

Sub test1()
Dim srs As Series
Dim bkname1 As String
Dim bkname2 As String

bkname1 = "BOOK_A.xls"
bkname2 = "BOOK_B.xls"
For Each srs In ActiveChart.SeriesCollection
srs.Formula = Replace(srs.Formula, bkname1, bkname2)
Next
End Sub
    • good
    • 10
この回答へのお礼

回答ありがとうございます。
うまくいきました。

あまりマクロは使いたくないので、もっと簡単にできればと
思っていたのですが、意外と他の方法はないものですね。

お礼日時:2009/11/20 07:20

グラフのあるシートと参照先シートを同時に移動(コピーではNG)しなければ、元のブックを参照してしまうようですね。



ブックごとコピーして参照先シートを修正した方が早いのでは?
    • good
    • 3
この回答へのお礼

確かにそうなのですが、結構数もあり、
今後の事も考えると、できる方法があるならと思い質問させていただきました。
回答ありがとうございました。

お礼日時:2009/11/20 07:18

コピー後に「置換」で


「検索する文字列」に「'[ブック名]シート名'!」を指定
「置換後の文字列」を空文字(何も無し)に指定
してから、全部の式を置換してしまいましょう。

こうすれば
='[BOOK_A]SHEET_1'!$D$12+'[BOOK_A]SHEET_1'!$D$13
と言う式は
=$D$12+$D$13
になります。

もし、絶対指定の「$」が邪魔なら、やはり「置換」を使って
「検索する文字列」に「$」を指定
「置換後の文字列」を空文字(何も無し)に指定
して、全部の式を置換してしまいましょう。

この2度の置換で、最終的に
='[BOOK_A]SHEET_1'!$D$12+'[BOOK_A]SHEET_1'!$D$13
と言う式は
=D12+D13
になります。
    • good
    • 5
この回答へのお礼

回答ありがとうございます。

やってみたのですが、どこを選択した状態で置換をしたらいいのか
わからず、うまくいきません。
セル全体、グラフ全体、グラフの線
等で試してみましたが、だめでした。

どこを選択したらよいのでしょうか?

お礼日時:2009/11/20 07:18

シートのコピーでは、対応できません。



あたらしくシートを追加して、そこにセル全体のコピーを貼り付ける方法になります。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。

説明が不足しておりましたが、コピーしたいのはシート内のグラフです。SERIES関数を使って、他のシートのセルを参照しているのですが、この場合はだめって事でしょうか?

コピー後に一つ一つ訂正(式内の[BOOK_A]を削除)するしかないでしょうか。。

お礼日時:2009/11/19 13:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A