| 
    
     |  | 開くブックのどのような名前のシートから値を引っ張るのか、 また、マクロ実行ブックの中のどのような名前のシートに値を入力
 するのか分かりませんが・・
 
 Sub MyLink()
 Dim MyObj As Oject
 Dim Pt As Long
 Dim MyDir As String, MyF As String, Lk As String
 
 Set MyObj = CreateObject("Shell.Application"). _
 BrowseForFolder(0, "フォルダを選択してください", 0)
 If MyObj Is Nothing Then Exit Sub
 MyDir = myObj.Items.Item.Path
 ChDit MyDir: Set MyObj = Nothing
 MyF = Application _
 .GetOpenFilename("エクセルブック(*.xls),*.xls")
 If MyF = "False" Then Exit Sub
 Pt = InStrRev(MyF, "\")
 Lk = "='" & Left$(MyF, Pt) & "[" & Dir(MyF) & "]Sheet1'!B18"
 With ThisWorkbook.Sheets("集計").Range("B4:D14")
 .Formula = Lk
 .Value = .Value
 End With
 End Sub
 
 概ね、こんな感じのコードになると思います。
 
 |  |