Posted to microsoft.public.excel.programming
|
|
not one sheet but all !
Sometimes not activating sheets is important. (Sometimes, it's not.)
J_J wrote:
Thank you Dave. I must have posted (replied) to a wrong group/thread. But
your code works perfectly well...
Sincerely
J_J
"Dave Peterson" wrote in message
...
I didn't see a followup to my followup <bg.
But this is the change I suggested:
Option Explicit
Sub delete_rows()
Dim lastrow As Long
Dim row_index As Long
Dim wks As Worksheet
Application.ScreenUpdating = False
For Each wks In ActiveWorkbook.Worksheets
With wks
lastrow = .Cells(.Rows.Count, "F").End(xlUp).Row
For row_index = lastrow - 1 To 1 Step -1
Select Case LCase(Cells(row_index, "F").Value)
Case Is = "yellow", "green", "red", "blue"
.Rows(row_index).Delete
End Select
Next row_index
End With
Next wks
Application.ScreenUpdating = True
End Sub
J_J wrote:
Thank you Dave. I think I've replied to you there. If not sorry about
it.
You are among my favorites in this NG.
Cheers
J_J
"Dave Peterson" wrote in message
...
See one more reply at your other thread.
J_J wrote:
Hi,
I am trying to adopt a code to delete all rows in a workbooks' all
sheets if
a number of criteria is valid.
This is as far as I've gone. But the code only works for Sheet1.
Can you correct my mistake?
------------------------------
Option Explicit
Sub delete_ygrb_rows()
Dim lastrow As Long
Dim row_index As Long
Application.ScreenUpdating = False
lastrow = ActiveSheet.Cells(Rows.Count, "F").End(xlUp).Row
For row_index = lastrow - 1 To 1 Step -1
Select Case LCase(Cells(row_index, "F").Value)
Case Is = "yellow", "green", "red", "blue"
Rows(row_index).Delete
End Select
Next row_index
Application.ScreenUpdating = True
End Sub
Sub AllSheets()
Dim mySht As Worksheet
For Each mySht In ActiveWorkbook.Worksheets
mySht.Activate
Call delete_ygrb_rows
Next mySht
End Sub
Private Sub CommandButton1_Click()
AllSheets
End Sub
--
Dave Peterson
--
Dave Peterson
--
Dave Peterson
|