プロが教えるわが家の防犯対策術!

教えてください。

Excelのファイルから別のExcelファイルにデータを引っ張りたいのですが

='[ファイル名.xls]1'!$A$1

と入力するとデータを引っ張ってこれるのですがこのデータ元のファイルの別ページの
同じセルからもデータを引っ張って来たいのですがシートが複数ページあり
1つ1つのリンク先を変更していくのが面倒です


↓↓↓↓↓

='[ファイル名.xls]1'!$A$1
='[ファイル名.xls]2'!$A$1
='[ファイル名.xls]3'!$A$1
='[ファイル名.xls]4'!$A$1
='[ファイル名.xls]5'!$A$1

↑こんな感じで一気に変更したいのですが
何か簡単なやり方はありますでしょうか??


ちなみにExcelは2003です。

A 回答 (2件)

わたしはこういう場合はVBを使って自動入力させます。


例えばA列に1行目から順に質問文にある式を入力したいのであれば、

Sub Macro1()
r = 1 '入力を開始する行
c = 1 '入力する列
s = 5 'シートの数
For n = 1 To s
Cells(r, c).Value = "='[ファイル名.xls]" & n & "'!$A$1"
r = r + 1
Next
End Sub

のようなマクロを作成し、実行すれば自動入力できます。
    • good
    • 0

次の方法がありますが如何でしょうか。


=INDIRECT("[ファイル名.xls]"&ROW(A1)&"!A1")として下方向にコピーして下さい。
因みにファイルはオープン状態でないとエラー(#REF!)になりますのでご注意ください。
    • good
    • 0

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