En un formulario que tengas pon un cuadro de texto (llámale NombreArchivo), en el que se escribirá el nombre del archivo, y un botón que servirá para elegir el archivo.
Llama al botón, por ejemplo, SelArchivo, asígnale al evento click la opción Procedimiento de evento, y después pulsa en el botón de los tres puntos para acceder al editor de VB.
Entre las lineas Sub SelArchivo_Click y End Sub escribe:
NombreArchivo = SelArchivo("Seleccionar un archivo","msoFileDialogFilePicker","*.*)
A continuación, después del End Sub copia y pega lo siguiente:
Public Function SelArchivo(TituloCuadro As String, TipoObjeto As Long, Optional TipoArchivo As String) As String
Dim respuesta As Long
Dim dlgAbrir As FileDialog
Dim vrtSelected As Variant
Dim narxiu As String, nombre As String, salida As String
Set dlgAbrir = Application.FileDialog(TipoObjeto)
With dlgAbrir
.AllowMultiSelect = False
.title = TituloCuadro
.InitialFileName = Application.CurrentProject.Path
.ButtonName = "Abrir"
If .Show = -1 Then
For Each vrtSelected In .SelectedItems
narxiu = vrtSelected
Next
End If
End With
If narxiu <> "" Then
salida = narxiu
Else
salida = ""
End If
SelArchivo = salida
End Function
El código no es mío, lo copié de un foro o de por ahí. Lo que abre es una ventana de sistema operativo. La original.