Why not use filedialog to get the user to pick the file since they will be familiar with using it.
This code uses the Microsoft Scripting runtime reference so:
Set reference to Microsoft Scripting runtime by selecting tools/references in the VBa window and putting a tick by Microsoft Scripting runtime.
Sub pickfile()
Dim objFSO As New FileSystemObject
'Dim fDialog As FileDialog, result As Integer
Dim fDialog As FileDialog
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
'Optional: FileDialog properties
fDialog.AllowMultiSelect = False
fDialog.Title = "Select a file"
fDialog.InitialFileName = Path
'Show the dialog. -1 means success!
If fDialog.Show = -1 Then
fileselected = fDialog.SelectedItems(1)
fname = objFSO.GetFileName(fileselected) 'The file name
MsgBox (fname)
End If
End Sub
You can set the inital path for the file if you want to by setting a value in "Path" at the start either by setting an absolute path or a relative such as :
Path = ActiveWorkbook.Path & "\"