Select first empty row in column A: Worksheets("Sheet1").Range("A1").End(xlDown).Row + 1 Delete Empty Columns: Sub DelEmptyCols() ' Deletes all empty columns on the active worksheet Dim iCol As Integer With ActiveSheet.UsedRange For iCol = .Column + .Columns.Count - 1 To 1 Step -1 If IsEmpty(Cells(65536, iCol)) And IsEmpty(Cells(1, iCol)) Then If Cells(65536, iCol).End(xlUp).Row = 1 Then Columns(iCol).Delete End If Next iCol End With End Sub