| 
    
     |  | ▼もえ さん: 
 Sheet1を対象に処理すると考えると・・・。
 こんな感じになると思います。
 Split97は Splitの代用関数なので エクセルが2000以降ならSplitを使って下さい。
 
 
 Sub S()
 i = 2
 AryFil = Application.GetOpenFilename("(*.XLS),*.XLS", , "ファイル選択", , True)
 
 If Not IsArray(AryFil) Then
 MsgBox "ファイルを選択してから実行して下さい。"
 Exit Sub
 End If
 
 For Each Fil In AryFil
 
 FilTmp = Split97(Fil, "\")
 
 F_Nm = FilTmp(UBound(FilTmp))
 F_Pth = Left(Fil, Len(Fil) - Len(F_Nm))
 
 
 With Range("A" & i)
 .FormulaR1C1 = "='" & F_Pth & "[" & F_Nm & "]Sheet1'!R2C1"
 .Value = .Value
 End With
 i = i + 1
 Next
 
 End Sub
 
 Function Split97(ByVal StrTmp, ByVal Strbunri)
 Dim Split97Tmp()  '配列一時格納用
 Dim i As Long    'カウンタ変数
 Dim IntTmp As Long '区切り文字位置格納用変数
 
 IntTmp = InStr(1, StrTmp, Strbunri)
 If IntTmp = 0 Then
 ReDim Split97Tmp(0)
 Split97Tmp(0) = StrTmp
 Else
 Do Until IntTmp = 0
 ReDim Preserve Split97Tmp(i)
 Split97Tmp(i) = Left(StrTmp, IntTmp - 1)
 i = i + 1
 StrTmp = Mid(StrTmp, IntTmp + Len(Strbunri))
 IntTmp = InStr(1, StrTmp, Strbunri)
 Loop
 ReDim Preserve Split97Tmp(i)
 Split97Tmp(i) = StrTmp
 End If
 
 Split97 = Split97Tmp
 End Function
 
 |  |