![]() |
Deleting rows
I use this code to delete alle rows, that contains an "x" in the first column: nr = Sheets(1).Range("a65536").End(xlUp).Row For i = nr To 2 Step -1 If UCase(Range("a" & i)) = "X" Then Range("a" & i).EntireRow.Delete shift:=xlUp End If Next i But how do I change it to delete all columns, that contains an "x" in the first row? Thats is, what should I put in the Ucase and Range to make it work? nc = Sheets(1).Range("a65536").End(xlToLeft).Column For h = nc To 2 Step -1 If UCase(???????) = "X" Then Range(????).EntireColumn.Delete shift:=xlRight End If Next h Jan |
Deleting rows
Sub deletecolumnswithX() For i = cells(1, Columns.Count) _ .End(xlToLeft).Column To 1 Step -1 If UCase(cells(1, i)) = "X" Then Columns(i).Delete Next i End Sub Sub deleteRowswithX() For i = cells(Rows.Count, 1) _ .End(xlUp).Row To 1 Step -1 If UCase(cells(i, 1)) = "X" Then Rows(i).Delete Next i End Sub -- Don Guillett Microsoft MVP Excel SalesAid Software "Jan Kronsell" wrote in message ... I use this code to delete alle rows, that contains an "x" in the first column: nr = Sheets(1).Range("a65536").End(xlUp).Row For i = nr To 2 Step -1 If UCase(Range("a" & i)) = "X" Then Range("a" & i).EntireRow.Delete shift:=xlUp End If Next i But how do I change it to delete all columns, that contains an "x" in the first row? Thats is, what should I put in the Ucase and Range to make it work? nc = Sheets(1).Range("a65536").End(xlToLeft).Column For h = nc To 2 Step -1 If UCase(???????) = "X" Then Range(????).EntireColumn.Delete shift:=xlRight End If Next h Jan |
Deleting rows
I figured it out myself, finally :-) For h = ncn To 2 Step -1 If UCase(Cells(1, h).Value) = "X" Then Cells(1, h).EntireColumn.Delete shift:=xlRight End If Next h Does the trick. Jan |
Deleting rows
Thank you. Jan Don Guillett wrote: Sub deletecolumnswithX() For i = cells(1, Columns.Count) _ .End(xlToLeft).Column To 1 Step -1 If UCase(cells(1, i)) = "X" Then Columns(i).Delete Next i End Sub Sub deleteRowswithX() For i = cells(Rows.Count, 1) _ .End(xlUp).Row To 1 Step -1 If UCase(cells(i, 1)) = "X" Then Rows(i).Delete Next i End Sub I use this code to delete alle rows, that contains an "x" in the first column: nr = Sheets(1).Range("a65536").End(xlUp).Row For i = nr To 2 Step -1 If UCase(Range("a" & i)) = "X" Then Range("a" & i).EntireRow.Delete shift:=xlUp End If Next i But how do I change it to delete all columns, that contains an "x" in the first row? Thats is, what should I put in the Ucase and Range to make it work? nc = Sheets(1).Range("a65536").End(xlToLeft).Column For h = nc To 2 Step -1 If UCase(???????) = "X" Then Range(????).EntireColumn.Delete shift:=xlRight End If Next h Jan |
Deleting rows
* * * * * * Range("a" & i).EntireRow.Delete shift:=xlUp
An very small sugestion ; if you have problems with speed of deleting this rows , try method ClearContents instead of Delete : Range("a" & i).EntireRow.ClearContents shift:=xlUp |
All times are GMT +1. The time now is 01:15 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com