VBA Code to Browse a Folder

Quite often a VBA developer requires code to browse a folder. This is mainly for saving the output file or reading the input file(s). Below is the VBA code that can be used to browse a file folder.

Excel Tricks

Public Sub PickAFolder()
    'Microsoft Office XX.X Object Library is required to run this code
    'Variable declaration
    Dim objFileDialog As FileDialog
    Dim objSelectedFolder As Variant
    'Browse a folder
    Set objFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    With objFileDialog
        .ButtonName = "Select"
        .Title = "Select a folder"
        .InitialView = msoFileDialogViewList
        For Each objSelectedFolder In .SelectedItems
            'Show the selected folder details on Excel sheet
            Sheet1.Range("B6").Value = objSelectedFolder
    End With
End Sub

It is worth to mention that you need to add Office reference (Microsoft Office XX.X Object Library) in Excel VBA from Menu Bar (Tools>References…). Below are the steps to add Office reference in Excel VBA:

1. From the Menu Bar, click on Tools > References…

Excel Tricks

2. Select ‘Microsoft Office XX.X Object Library’ and click on ‘OK’ button

Excel Tricks

To use this code in your Excel file, follow below steps:

1. Open an Excel file
2. Press Alt+F11
3. Insert a Module (Insert>Module) from menu bar
4. Paste the code in the module
5. Now add a shape in Excel sheet
6. Give a name to the shape like ‘Browse a Folder’

Excel Tricks

7. Right click on the shape and select ‘Assign Macro…’

Excel Tricks

8. Select PickAFolder from the list and click on ‘Ok’ button

Excel Tricks

9. Done

Leave a Reply

VBA Code to Delete File
VBA Code to Delete File

In this article we are going to show you how you can delete file or files using a single line of VBA code. 1. Delete a specific file from the folder, 2. Delete specific type of files from the folder, 3. Delete all files from the folder

VBA Code to Add Border to Excel Range
VBA Code to Add Border to Excel Range

Through formatting the cells, you can make your Excel data more beautiful and easier to understand. If you record a macro to add borders to Excel range, you will notice that it generates 30 plus lines of code for just a small work. Here we are sharing one line of code which does the same thing.

Protect Excel Sheet for Manual Input
VBA Code to Protect Excel Sheet for Manual Input but Allow Programming Inputs

Did you come across any requirement where you want the user to interact with a sheet only through VBA Form? Here is a simple code which can help you.