Problem with the "Or" operand in Excel
Hi
This will hide all rows which do not contain one of the names.
Sub MyHideRows()
Dim StartRow As Integer
StartRow = 1
Do Until StartRow Cells(Cells.Rows.Count, "C").End(xlUp).Row
If Cells(StartRow, 3).Value < "Fred" _
And Cells(StartRow, 3).Value < "John" _
And Cells(StartRow, 3).Value < "Mary" Then
Rows(StartRow).Hidden = True
End If
StartRow = StartRow + 1
Loop
End Sub
And this will hide rows which contain one of the selected names:
Sub MyHideRows()
Dim StartRow As Integer
StartRow = 1
Do Until StartRow Cells(Cells.Rows.Count, "C").End(xlUp).Row
If Cells(StartRow, 3).Value = "Fred" _
Or Cells(StartRow, 3).Value = "John" _
Or Cells(StartRow, 3).Value = "Mary" Then
Rows(StartRow).Hidden = True
End If
StartRow = StartRow + 1
Loop
End Sub
Regards,
Per
"PPL" skrev i meddelelsen
...
Excel 2002/3
I am trying to write a short script that looks at all cells in column C
and if the cell contains a selected name (i.e., Fred or John or Mary) then
the entire row is hidden
I would have thought that the following would have doen it?
Sub MyHideRows()
Dim startrow As Integer
startrow = 1
Do Until startrow Cells(Cells.Rows.Count, "C").End(xlUp).Row
If Cells(startrow, 3).Value < "Fred" _
Or Cells(startrow, 3).Value < "John" _
Or Cells(startrow, 3).Value < "Mary" Then
Cells(startrow, 3).Select
Selection.EntireRow.Hidden = True
End If
startrow = startrow + 1
Loop
End Sub
The result is that regardless of content the script hides all rows
Interstingly if I strip out the "Or" operands and leave the basic "If"
statement it works fine.
So this works:
If Cells(startrow, 3).Value < "Fred" Then
Cells(startrow, 3).Select
Selection.EntireRow.Hidden = True
End If
Can somebody please please help me with the logic here (or my lack of
same!)
TIA
Phil
|