Sub LoopAllExcelFilesInFolder()
Dim wb As Workbook
Dim myPath As String
Dim myFile As String
Dim myExtension As String
Dim FldrPicker As FileDialog
Dim i As Integer
Dim WS_Count As Integer
  Set FldrPicker = Application.FileDialog(msoFileDialogFolderPicker)
    With FldrPicker
      .Title = "Select A Target Folder"
      .AllowMultiSelect = False
        If .Show <> -1 Then GoTo NextCode
        myPath = .SelectedItems(1) & "\"
    End With
  myExtension = "*.xls*"
  myFile = Dir(myPath & myExtension)
  Do While myFile <> ""
    'Set variable equal to opened workbook
      Set wb = Workbooks.Open(Filename:=myPath & myFile)
      WS_Count = ActiveWorkbook.Worksheets.Count
    For i = 4 To WS_Count
        ActiveWorkbook.Sheets(i).Select
        With ActiveWorkbook.Sheets(i)
            Set RngCol = .Range("A1", .Cells(Rows.Count, 1).End(xlUp))
        End With
            LastRow = RngCol.Rows.Count
            Range("L1:L" & LastRow).Value = ActiveWorkbook.Name
    Next i
      wb.Close SaveChanges:=True
      myFile = Dir
End Sub
            Asked
            
        
        
            Active
            
        
            Viewed 57 times
        
    0
            
            
        - 
                    Please add some comments about what the problem is. Do you get some error message and at which line? – Wizhi Oct 22 '18 at 16:46
- 
                    2What is your question? Where does your code fail? – FunThomas Oct 22 '18 at 16:46
- 
                    No errors, it just doesnt add the column to any of the workbooks. I don't know why... – Johnny Oct 22 '18 at 16:47
- 
                    Add what column? What do you mean by "add"? And I'm going to bet it's related to your use of `.Select`/`.Activate`. It's [best to avoid using those](https://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba) – BruceWayne Oct 22 '18 at 17:02
- 
                    1I can't see anywhere a statement that says "insert" or "add"..., the last part looks to me that you define the range where you want to add some values into ( `Range("L1:L" & LastRow).Value` ), but this wouldn't add any extra columns..... Maybe add something like this [How to add a new column to an existing sheet](https://stackoverflow.com/questions/7728436/how-to-add-a-new-column-to-an-existing-sheet). – Wizhi Oct 22 '18 at 17:03
- 
                    Column L is currently blank, I'm using Range("L1:L" & LastRow).Value = ActiveWorkbook.Name to make all the cells equal the Workbook name. – Johnny Oct 22 '18 at 18:15
- 
                    beginner mistake. somehow SaveChanges:=True got changed to False in my file. Works like a charm now. – Johnny Oct 22 '18 at 18:29
 
    