You might try this:
Sub test()
Dim DataWorkbook As Workbook
Dim DataRange As Range
Dim PathToData As String
Dim DataWBName As String
Dim ResultRange As Range
PathToData = Application.GetOpenFilename
If PathToData = "False" Then Exit Sub: Rem cancel pressed
DataWBName = Mid(PathToData, InStrRev(PathToData, Application.PathSeparator) + 1)
On Error Resume Next
If Workbooks(DataWBName) <> DataWBName Then
Set DataWorkbook = Workbooks.Open(PathToData)
Else
Set DataWorkbook = Workbooks(DataWBName)
End If
On Error GoTo 0
Set DataRange = DataWorkbook.Sheets("Sheet1").Range("A1:I27")
ThisWorkbook.Activate
Do
On Error Resume Next
Set ResultRange = Application.InputBox("select the result column with the mouse", Type:=8)
On Error GoTo 0
If ResultRange Is Nothing Then Exit Sub: Rem cancel pressed
If ResultRange.Column = 1 Then MsgBox "Do not select a cell in column A"
Loop Until ResultRange.Column <> 1
With ResultRange.Cells(1, 1)
With Application.Intersect(.EntireColumn, .Parent.Range("2:26").EntireRow)
.FormulaR1C1 = "=VLOOKUP(RC1," & DataRange.Address(True, True, xlR1C1, True) & ",9,false)"
.Value = .Value
End With
End With
End Sub