![]() |
marco to delete empty columns
Hello. I need to make a macro that will delete any column in my excel
worksheet that is empty. I am not sure wich columns are empty so it will need to check each one. I would also like it to ignore the first row because every column has a header so the macro would not work if it checked the first row. Does anyone have any ideas for a macro? I tryed to make one to do it today but just ended up very frustrated. |
marco to delete empty columns
Hi,
Right click your sheet tab, view code and paste this in and run it Sub sonic() lastcolumn = Cells.Find(What:="*", After:=[A1], _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious).Column For x = 1 To lastcolumn If Cells(Rows.Count, x).End(xlUp).Row = 1 Then Columns(x).EntireColumn.Delete End If Next End Sub Mike " wrote: Hello. I need to make a macro that will delete any column in my excel worksheet that is empty. I am not sure wich columns are empty so it will need to check each one. I would also like it to ignore the first row because every column has a header so the macro would not work if it checked the first row. Does anyone have any ideas for a macro? I tryed to make one to do it today but just ended up very frustrated. |
marco to delete empty columns
OOPS,
My mistake you have to do it backwards Sub sonic() lastcolumn = Cells.Find(What:="*", After:=[A1], _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious).Column For x = lastcolumn To 1 Step -1 rr = Cells(Rows.Count, x).End(xlUp).Row If Cells(Rows.Count, x).End(xlUp).Row = 1 Then Columns(x).EntireColumn.Delete End If Next End Sub Mike "Mike H" wrote: Hi, Right click your sheet tab, view code and paste this in and run it Sub sonic() lastcolumn = Cells.Find(What:="*", After:=[A1], _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious).Column For x = 1 To lastcolumn If Cells(Rows.Count, x).End(xlUp).Row = 1 Then Columns(x).EntireColumn.Delete End If Next End Sub Mike " wrote: Hello. I need to make a macro that will delete any column in my excel worksheet that is empty. I am not sure wich columns are empty so it will need to check each one. I would also like it to ignore the first row because every column has a header so the macro would not work if it checked the first row. Does anyone have any ideas for a macro? I tryed to make one to do it today but just ended up very frustrated. |
marco to delete empty columns
Since you didn't use the rr variable anywhere, you can remove this
assignment line from the code... rr = Cells(Rows.Count, x).End(xlUp).Row -- Rick (MVP - Excel) "Mike H" wrote in message ... OOPS, My mistake you have to do it backwards Sub sonic() lastcolumn = Cells.Find(What:="*", After:=[A1], _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious).Column For x = lastcolumn To 1 Step -1 rr = Cells(Rows.Count, x).End(xlUp).Row If Cells(Rows.Count, x).End(xlUp).Row = 1 Then Columns(x).EntireColumn.Delete End If Next End Sub Mike "Mike H" wrote: Hi, Right click your sheet tab, view code and paste this in and run it Sub sonic() lastcolumn = Cells.Find(What:="*", After:=[A1], _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious).Column For x = 1 To lastcolumn If Cells(Rows.Count, x).End(xlUp).Row = 1 Then Columns(x).EntireColumn.Delete End If Next End Sub Mike " wrote: Hello. I need to make a macro that will delete any column in my excel worksheet that is empty. I am not sure wich columns are empty so it will need to check each one. I would also like it to ignore the first row because every column has a header so the macro would not work if it checked the first row. Does anyone have any ideas for a macro? I tryed to make one to do it today but just ended up very frustrated. |
All times are GMT +1. The time now is 02:08 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com