Excel VBA Code to insert workbook name in multiple files

Excel VBA Code to insert workbook name in multiple files

October 31, 2017

Happy Halloween!


You can use the below visual basic code to insert the names of multiple workbooks in the first column of the files.   


Note that you have to enter the path to the folder of the Excel files that you want to process on the line beginning, 'folder ='.     The line beginning: With destinationWorkbook.Worksheets, you specify in parentheses the number of the worksheet you want the workbook name entered in.




 So when you start with a folder like this:



. . . you can end up with the file names inserted in column A:



Public Sub Insert_Column_In_All_Workbooks_In_Folder()
    Dim folder As String, filename As String
    Dim destinationWorkbook As Workbook
    Dim lastRow As Long
    'Folder containing the 48 workbooks
    folder = "C:\temp\excel\"
    If Right(folder, 1) <> "\" Then folder = folder & "\"
    filename = Dir(folder & "*.xls", vbNormal)
    While Len(filename) <> 0
        'Debug.Print folder & filename
        Set destinationWorkbook = Workbooks.Open(folder & filename)
        With destinationWorkbook.Worksheets(1)
            lastRow = .Cells(.Rows.Count, "A").End(xlUp).row
            .Columns("A").Insert Shift:=xlToRight
            .Range("A1:A" & lastRow).Value = Left(filename, InStr(filename, ".") - 1)
        End With
        destinationWorkbook.Close True
        filename = Dir()  ' Get next matching file
End Sub

Please reload

Contact Me With Your Litigation Support Questions:


  • Twitter Long Shadow

© 2015 by Sean O'Shea . Proudly created with Wix.com