はじめまして。
エクセルのVBAについて教えてください。
VBAで、
book1のsheet1のセルA1にあるデータを開いていない(アクティブでない)別のbook2のsheet2のセルB1にコピーしたいのですがこんなことってできるのでしょうか?
・・やはり開いていないとダメなんでしょうか?

あと、これって"ブック参照"っていうことなんでしょうか?自分がやりたいことが何なのか判らないので上手く調べる事が出来ず難儀しています。

よろしくお願いします。

A 回答 (3件)

No.2のものです。


間違ってました。

sub test()

Sheets("sheet1").Select
Range("a1").Copy

Workbooks.Open(Filename:="c:\BOOK2.XLS").RunAutoMacros Which:=xlAutoOpen
Sheets("sheet2").Range("b2").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False

Application.DisplayAlerts = False
ActiveWorkbook.Save
ActiveWorkbook.Close

end sub

でした。
    • good
    • 0
この回答へのお礼

ありがとうございました。
やはりいったん開くことは必要なのですね。
丁寧な対応、感謝いたします。

お礼日時:2003/11/04 16:39

可能ですよ!



Sub test()

Sheets("sheet1").Range("a1").Copy

Workbooks.Open(Filename:="c:\BOOK2.XLS").RunAutoMacros Which:=xlAutoOpen
Windows("BOOK2.XLS").Activate
ActiveWorkbook.Sheets("sheet2").Range("b2").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
ActiveWorkbook.Saved = True
ActiveWorkbook.Close

End Sub
    • good
    • 0

開いていないブックには書きこめないのでVBAでbook2を開いて書きこむことになります。



参照として書きこみたいならB2セルには
='C:\My Documents\[book1.xls]Sheet1'!$A$1
のような数式を書きこむことになると思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
やっぱりいったん開くことは必要なのですね。
もしかすると何かウラ技とかあるのでは無いかなと
思ってました。(そんな都合の良いこと無いですよね)

お礼日時:2003/11/04 16:41

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

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QAmazonのブックカバー

すごく単純な質問なんですが、Amazon手本を買ったらブックカバーをつけてくれますか?どうやったらブックカバーが手に入りますか?教えてください。

Aベストアンサー

書籍を3900円以上買って、一緒に欲しい色のブックカバーをカート入れてキャンペーンコードを入力すれば無料で貰えます。

2006年6月30日までです。

参考URL:http://www.amazon.co.jp/exec/obidos/tg/detail/-/books/B0009WHOMG/reviews/ref=cm_rev_more/503-3484887-6739157#4

Qエクセル VBA セルの色をSheet1とSheet2の両方を変えたいのですが・・・

最近困っているところが表題の通りなのですが
Sheet1のB2を右クリックするとB2のセルの色を変えて
Sheet2のB2のセルも色を変えたいというものです。
現状で

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

Dim Rng As Range, myRng As Range
Dim RngA As Range, myRngA As Range


Set Rng = Range("B3:W3,b7:w8,b12:w12,d13:w13,d17:w18,d22:w23")
Set myRng = Intersect(Target, Rng)

If myRng.Interior.ColorIndex = xlColorIndexNone Then
myRng.Interior.ColorIndex = 37

Else
If myRng.Interior.ColorIndex = 37 Then
myRng.Interior.ColorIndex = 45

Else
myRng.Interior.ColorIndex = xlColorIndexNone
End If

End If
Cancel = True
End Sub

とここまではあるのですが、これをどう改造すればSheet2の同じセルの色もかわるのでしょうか?
宜しくお願いいたします

最近困っているところが表題の通りなのですが
Sheet1のB2を右クリックするとB2のセルの色を変えて
Sheet2のB2のセルも色を変えたいというものです。
現状で

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

Dim Rng As Range, myRng As Range
Dim RngA As Range, myRngA As Range


Set Rng = Range("B3:W3,b7:w8,b12:w12,d13:w13,d17:w18,d22:w23")
Set myRng = Intersect(Target, Rng)

If myRng.Interior.ColorIndex = xlColorIndexNo...続きを読む

Aベストアンサー

試していませんが
 myRng.Interior.ColorIndex = 37
 Sheets("Sheet2").Range(myRng.Address).Interior.ColorIndex = 37
のようにしてみたらどうですか?

ただこのマクロは
 Set myRng = Intersect(Target, Rng)
の結果がNothingだとエラーになりそうです。

 If Not myRng Is Nothing Then
   色を変更する処理
 End If
にしたらよいと思います。

Q担当者月別に1ブックにまとめたいのですが

フォルダ内に担当名が付いた日付エクセルブックが毎日送られてきます。
各ブック内シートは同名が一枚です。
月末にはかなりのブック数になり、処理が遅れると、月をまたぐブックも混在してきます。
日付は一緒でも担当者が違うため、同ブックは存在しません
このブックをに担当者月別に1ブックにまとめたいのですが、、

フォルダ内に、”yymmdd担当名”ブック
”090201担当A”ブック
”090201担当B”ブック
”090305担当C”ブック
”090301担当D”ブック
”090201担当A”ブック
”090415担当B”ブック
”090420担当C”ブック
”090401担当B”ブック

例えば
”0902担当A”ブック(シート090201担当A、090202担当A、090215担当A・・・) 担当Aの2月稼動
”0903担当A”ブック(シート090305担当A、090310担当A、090320担当A・・・) 担当Aの3月稼動
”0903担当B”ブック(シート090305担当B、090310担当B、090320担当B・・・) 担当Bの3月稼動

同フォルダ内でいいので、こんな感じでまとめることができれば。
月末処理でなくても、随時処理できるように上書きも可能にして、組み込んだブックは削除して
フォルダ内をすっきりさせたいのです。

以前、シート内からの月別ブック作成のマクロ模範回答があり、何とか応用してと格闘しましたが、
フォルダパスが絡んでくると、どうもよく解らなくなってきました TT
どなたかご指導願います

フォルダ内に担当名が付いた日付エクセルブックが毎日送られてきます。
各ブック内シートは同名が一枚です。
月末にはかなりのブック数になり、処理が遅れると、月をまたぐブックも混在してきます。
日付は一緒でも担当者が違うため、同ブックは存在しません
このブックをに担当者月別に1ブックにまとめたいのですが、、

フォルダ内に、”yymmdd担当名”ブック
”090201担当A”ブック
”090201担当B”ブック
”090305担当C”ブック
”090301担当D”ブック
”090201担当A”ブック
”090415担当B”ブック
”09...続きを読む

Aベストアンサー

やる作業とその方法が、本当に適切なのか会社内で検討するのが先のようにも感じます。

>処理が遅れると、月をまたぐブックも混在してきます。
これなんか同じフォルダに送り込むのがまずいので別フォルダに送るようにするか、
若しくは月末(月初め)に既にあるブックは別の場所へ移動させておく等でも、手間が少なくなるのでは。

あとは”毎日”送る必要があるのかどうか?
毎日集計する必要がなければ、各担当者が1ブックに1月分(または半月分)
まとめておいてそれから送ってくるとか、見直せる部分があるように思えます。

QExcel2013 VBA sheet1とsheet2のデータを合成してsheet3を作るには

sheet1に氏名、sheet2にその氏名の人の趣味が入っています。

新たにsheet3を作成して、
氏名1
趣味
氏名1

氏名2
趣味
氏名2

氏名3
趣味
氏名3

氏名4
趣味
氏名4

としたいです。
VBAのコードを教えて下さい。

例えば
①sheet1には
A1;1 B1;阿部 C1;あべ
A2;2 B2;佐藤 C2;さとう
A3;3 B3;山名 C3;やまな
A4;4 B4;山本 C4;やまもと

②sheet2にはその人の趣味が入っています。

A1;1  B1;釣り C1;つり
A2;空白 B2;踊り C2;おどり
A3;空白 B3;歌 C3;うた

A4;2  B4;読書 C4;どくしょ
A5;空白 B5;野球 C5;やきゅう


A6;3 B6;映画鑑賞 C6;えいがかんしょう

A7;4  B7;釣り C7;つり
A8;空白 B8;踊り C8;おどり
A9;空白 B9;歌 C9;うた

③sheet3を新に作成して

A1;1 B1;阿部 C1;あべ
A2;空白  B2;釣り C2;つり
A3;空白 B3;踊り C3;おどり
A4;空白 B4;歌 C4;うた
A5;空白 B5;阿部 C5;あべ

A6;2 B6;佐藤 C6;さとう
A7;空白 B7;読書 C7;どくしょ
A8;空白 B8;野球 C8;やきゅう
A9;空白 B9;佐藤 C9;さとう

A10;3 B10;山名 C10;やまな
A11;空白 B11;映画鑑賞 C11;えいがかんしょう
A12;空白 B12;山名 C12;やまな

A13;4 B13;山本 C13;やまもと
A14;空白  B14;釣り C14;つり
A15;空白 B15;踊り C15;おどり
A16;空白 B16;歌 C16;うた
A17;空白 B17;山本 C17;やまもと



のようにしたいです。

実際、データは、sheet1は419列、sheet2は2563列あります。

sheet1に氏名、sheet2にその氏名の人の趣味が入っています。

新たにsheet3を作成して、
氏名1
趣味
氏名1

氏名2
趣味
氏名2

氏名3
趣味
氏名3

氏名4
趣味
氏名4

としたいです。
VBAのコードを教えて下さい。

例えば
①sheet1には
A1;1 B1;阿部 C1;あべ
A2;2 B2;佐藤 C2;さとう
A3;3 B3;山名 C3;やまな
A4;4 B4;山本 C4;やまもと

②sheet2にはその人の趣味が入っています。

A1;1  B1;釣り C1;つり
A2;空白 B2;踊り C2;おどり
A3;空白 B3;歌 ...続きを読む

Aベストアンサー

こんばんは!

Sheet3にSheet1のデータを二度表示させるのがイマイチ理解できませんが、
ご質問通りにやってみました。

Sub Sample1()
Dim i As Long, lastRow As Long, myCnt As Long
Dim c As Range, wS1 As Worksheet, wS2 As Worksheet
Set wS1 = Worksheets("Sheet1")
Set wS2 = Worksheets("Sheet2")
Application.ScreenUpdating = False
wS2.Rows(1).Insert
wS2.Range("D:D").Insert
With Worksheets("Sheet3")
.Cells.ClearContents
lastRow = wS2.Cells(Rows.Count, "B").End(xlUp).Row
Range(wS2.Cells(2, "D"), wS2.Cells(lastRow, "D")).Formula = "=IF(A2="""",D1,A2)"
For i = 1 To wS1.Cells(Rows.Count, "A").End(xlUp).Row
With .Cells(Rows.Count, "B").End(xlUp).Offset(1)
.Value = wS1.Cells(i, "B")
.Offset(, -1) = wS1.Cells(i, "A")
.Offset(, 1) = wS1.Cells(i, "C")
End With
Set c = wS2.Range("A:A").Find(what:=wS1.Cells(i, "A"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
myCnt = WorksheetFunction.CountIf(wS2.Range("D:D"), wS1.Cells(i, "A"))
.Cells(Rows.Count, "B").End(xlUp).Offset(1).Resize(myCnt, 2).Value = _
c.Offset(, 1).Resize(myCnt, 2).Value
End If
'▼
.Cells(Rows.Count, "B").End(xlUp).Offset(1).Resize(, 2).Value = _
wS1.Cells(i, "B").Resize(, 2).Value
'▲
Next i
.Rows(1).Delete
wS2.Rows(1).Delete
wS2.Range("D:D").Delete
Application.ScreenUpdating = True
.Activate
End With
MsgBox "完了"
End Sub

※ コード内の▼から▲までがもう一度Sheet1のデータを表示させているコードです。
細かい検証はしていませんが、
こんな感じではどうでしょうか?m(_ _)m

こんばんは!

Sheet3にSheet1のデータを二度表示させるのがイマイチ理解できませんが、
ご質問通りにやってみました。

Sub Sample1()
Dim i As Long, lastRow As Long, myCnt As Long
Dim c As Range, wS1 As Worksheet, wS2 As Worksheet
Set wS1 = Worksheets("Sheet1")
Set wS2 = Worksheets("Sheet2")
Application.ScreenUpdating = False
wS2.Rows(1).Insert
wS2.Range("D:D").Insert
With Worksheets("Sheet3")
.Cells.ClearContents
lastRow = ...続きを読む

Q【画像あり】複数のブック・シートから検索はできる?

タイトルの件、質問いたします。

下記の図【現状】のとおり、呼出ブック・Sheet1のB1セルに【NO】をハイフンを入れて
入力すると、名簿ブック・Sheet1の情報が、呼出ブックのB2、B3セルに【名前、趣味】
が呼出されます。

この名簿ブックの範囲を下記の図【やりたい事】とおり、広げる事はできますか?
具体的には、下記のとおりです。

【広げたい名簿ブックの範囲】→3つのブック、11のシート
●名簿ブック・Sheet1  名簿ブック・Sheet2  名簿ブック・Sheet3
 名簿ブック・Sheet4 名簿ブック・Sheet5
●名簿1ブック・Sheet1 名簿1ブック・Sheet2 名簿1ブック・Sheet3 
●名簿2ブック・Sheet1 名簿2ブック・Sheet2 名簿2ブック・Sheet3

【呼出ブック・Sheet1にある関数】
B2セル:=VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿.xls]Sheet1!A:C,2,FALSE)
B3セル:=VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿.xls]Sheet1!A:C,3,FALSE)

↑上記関数は、教えてgoo回答者様にご教授いただきました。


【条件】
●エクセルバージョン:2003
●名簿ブックは全て閉じているものとします。
●同じフォルダ内に全てあります。理想は、名簿ブックのみ、違うフォルダに格納したいです。
●名簿ブックにある、人の情報は全て、違う人です。

以上、宜しくお願いいたします。

タイトルの件、質問いたします。

下記の図【現状】のとおり、呼出ブック・Sheet1のB1セルに【NO】をハイフンを入れて
入力すると、名簿ブック・Sheet1の情報が、呼出ブックのB2、B3セルに【名前、趣味】
が呼出されます。

この名簿ブックの範囲を下記の図【やりたい事】とおり、広げる事はできますか?
具体的には、下記のとおりです。

【広げたい名簿ブックの範囲】→3つのブック、11のシート
●名簿ブック・Sheet1  名簿ブック・Sheet2  名簿ブック・Sheet3
 名簿ブック・Sheet4 名簿ブック・Sheet5
●名...続きを読む

Aベストアンサー

その条件で,できますかという事なら次のように丁寧に作成していけば出来ます。(面倒なだけでムズカシイお話は何もありません)

=IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet1'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet1'!A:C,2,FALSE))
&IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet2'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet2'!A:C,2,FALSE))
&IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet3'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet3'!A:C,2,FALSE))
&IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet4'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet4'!A:C,2,FALSE))
&IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet5'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet5'!A:C,2,FALSE))
&IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック1.xls]Sheet1'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック1.xls]Sheet1'!A:C,2,FALSE))
&IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック1.xls]Sheet2'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック1.xls]Sheet2'!A:C,2,FALSE))
&IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック1.xls]Sheet3'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック1.xls]Sheet3'!A:C,2,FALSE))
&IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック2.xls]Sheet1'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック2.xls]Sheet1'!A:C,2,FALSE))
&IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック2.xls]Sheet2'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック2.xls]Sheet2'!A:C,2,FALSE))
&IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック2.xls]Sheet3'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック2.xls]Sheet3'!A:C,2,FALSE))

※保存先のドライブ名やフォルダなどの記述は正しく訂正して作成すること
この式を置いたブックは,別にどこに保管しておいても全く構いません。


こういったどうにもナンセンスな方法を取るしかないのは,データがバラバラとあっちこっち散らばっているからに他なりません。
仮に元データはそういう具合に散らかして運用するしかないのだとしても,それらから単純な参照式を並べて(オリジナルの表をコピーする→集めシートに形式を選んで貼り付けのリンク貼り付けでリンクの式を並べる→全部の表から行う)一枚のシートにえいやっと全てのデータを集めてしまえば,当初に成功していた
=VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿の全部.xls]Sheet1'!A:C,2,FALSE)
というだけの,シンプルな数式で完成できます。

その条件で,できますかという事なら次のように丁寧に作成していけば出来ます。(面倒なだけでムズカシイお話は何もありません)

=IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet1'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet1'!A:C,2,FALSE))
&IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet2'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet2'!A:C,2,FALS...続きを読む

Qエクセル Sheet1 セルで入力したものをSheet2のセルへ

エクセルのSheet1のセル(例えばB1)に入力した文字を、
Sheet2のセルの任意のセル(例えばA5)に自動で表示させるには
どうすればいいのでしょうか? 
Sheet2のA5のセルの中で、=Sheet1!B1 と入れても「0」に
なるだけで・・・エクセルの何の機能を使えばいいのか全然分かりません。よろしくお願い致します。

Aベストアンサー

「Sheet2のA5のセル」に、=Sheet1!B1 と入れ、「Sheet1のB1セル」に何も入っていなければ「0」と表示されるのが普通です。

「Sheet1のB1セル」に何も入っていない時に「Sheet2のA5のセル」に0を表示させたくない(空欄にしたい)ならば、「Sheet2のA5のセル」に、
 =IF(Sheet1!B1="","",Sheet1!B1)
と入力してみてください。

QExcel2003 マクロでブックを開かずにコピペ

Excel2003でC:\にあるブックBを開かずに、
開いているブックAの指定したセルをコピーしたいのですがうまくいきません。

具体的なイメージは
開いているコピー先のブックA:いろは.xls
コピー先のシート:Sheet1
コピー元のブックB:らりるれろ.xls
コピー元のシート:らりるれろ
(ブックBの名前(らりるれろ.xls)とシート名が同じなのはシステム上の仕様です。)
ブックBのC6をブックAのC5に、
ブックBのI6をブックAのC6に、
ブックBのK6をブックAのC7に、
ブックBのH6をブックAのC8にコピーしたいと考えています。


宜しくお願いします!

Aベストアンサー

>Excel2003 マクロでブックを開かずにコピペ
根本的にマクロでは開いていないブックの参照が出来ません

一旦開いてコピー後に閉じるとの動作が必要

どうしても開くのがイヤダと言うのであれば

Range("C6").Select
ActiveCell.FormulaR1C1 = "='C:\[らりるれろ.xls]らりるれろ'!R5C3"


とすれば、開かずに参照できる

計算式でなく値がほしいのであれば


Range("C6").Select
ActiveCell.FormulaR1C1 = "='C:\[らりるれろ.xls]らりるれろ'!R5C3"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False


とでもすれば良い

>Excel2003 マクロでブックを開かずにコピペ
根本的にマクロでは開いていないブックの参照が出来ません

一旦開いてコピー後に閉じるとの動作が必要

どうしても開くのがイヤダと言うのであれば

Range("C6").Select
ActiveCell.FormulaR1C1 = "='C:\[らりるれろ.xls]らりるれろ'!R5C3"


とすれば、開かずに参照できる

計算式でなく値がほしいのであれば


Range("C6").Select
ActiveCell.FormulaR1C1 = "='C:\[らりるれろ.xls]らりるれろ'!R5C3"
Selection.Copy
Selection.PasteSpecia...続きを読む

QExcel でシート間の重複データ(Sheet1のA=Sheet2のA かつ Sheet1のB=Sheet2のB)

Excel2000です。

Sheet1のA列・B列・C列・・・にデータが入っています。
Sheet2のA列・B列・C列・・・にデータが入っています。

Sheet1のA列とSheet2のA列は、似たようなデータが入っています。
Sheet1のB列とSheet2のB列も、同様です。
C列以降のデータは、シート間で全然関係ありません。

Sheet1の行データ(A列・B列)が、Sheet2(A列・B列)にも存在しているかどうか、
を知るには、どうすればよいですか。
C列以降の列のデータは、比較する際に使いません。

つまり、
Sheet1のA = Sheet2のA
かつ
Sheet1のB = Sheet2のB
であるような行を知りたいのですが、

どうすればよいのでしょうか。

Aベストアンサー

Sheet1、Sheet2 ともに空いている列に =A1&B1 のような連結データを作り、Matchなどで比較するとか、、、

Sheet1 の E1 =A1&B1
Sheet2 の E1 =A1&B1
Sheet1 の F1 =MATCH(E1,Sheet2!E:E,0)

QEXCEL 別のブックにコピペしたときのセル参照

2つのエクセルブックがあります。

ブックA:sheet1、sheet2
ブックB:sheet1

ブックAのsheet2にはブックAのsheet1を参照した関数が沢山組んであります。
このsheet2をブックBにコピーしたいのですが、ブックBに新しいシートを作りコピペしても、
sheet2を右クリックで「移動またはコピー」にしてもブックBに移したsheet2はブックAを参照してしまいます。 
 =SUM([ブックA.xls]Sheet1!A3:A7) というように。

ブックAではなく、ブックBのsheet1を参照するように =SUM(Sheet1!A3:A7) となるようにコピペしたいのです。
1つ1つ関数の参照部を消すのも面倒なので、何か良い方法はありませんでしょうか

エクセル2003です。よろしくお願いします。

Aベストアンサー

次の手順を試してみてください。

1.とりあえず、ブックBを上書き保存して、開いたままにしておく
  (ブックAは閉じても構わない)
2.[編集]→[リンクの設定]を実行
3.[リンク元の変更]をクリック
4.ブックBを指定して[OK]をクリック
5.[閉じる]をクリック
6.上書き保存

ね、簡単でしょ?

Q大至急!Excelのsheet1のセルの数字をsheet2のセルに反映させたい。 添付した様な表が

大至急!Excelのsheet1のセルの数字をsheet2のセルに反映させたい。

添付した様な表があります。sheet1の黄色のセルの数字をsheet2にある商品コードが同じセルに反映させたいです。わかりにくいかもしれませんが、よろしくお願いします。

Aベストアンサー

どのようにうまく行かないのでしょうか?
2枚の写真の状態でコードを実行すると
商品コード「1234」は「5」に更新されます。
商品コード「2345」は、該当が無いので前の値が保持されます。消した方が良ければ消すことも出来ます。


人気Q&Aランキング