Browse File Dialog in Excel VBA

In Excel file, if you are doing any folder operations or trying to read content from another text,xlsx, csv file. It is better to use this file dialog box rather than manually typing the file name with path.

It would reduce the typing errors and also the file path will be exact as how it is in the system.

Lets see how to invoke it from a VBA code and get the file path directly.

Sub Choose_File()
    Dim sSh As Worksheet
    Dim filedialog As Office.FileDialog, txtFileName
    Set filedialog = Application.FileDialog(msoFileDialogFilePicker)
    Set sSh = ThisWorkbook.Sheets("Settings")
    
    txtFileName = ""
    With filedialog
        .AllowMultiSelect = False
        .Title = "Choose File(s)"
        .Filters.Add "Excel", "*.xls*"
        .Filters.Add "Csv", "*.csv*"
        .Filters.Add "Text", "*.txt*"
        .Filters.Add "All", "*.*"
    
        If .Show = True Then
            txtFileName = .SelectedItems(1)
        End If
        
    End With
    sSh.Cells(1, 2) = txtFileName
    sSh.Columns("B:B").AutoFit
End Sub

Rename the sheet name from “Settings” to any worksheet name as it is in your Excel workbook.

Leave a Reply