M
Matt
I want to filter my spread sheet with a macro based on the information
in one column, the catch is that I'd like to hide anything that is one
of 5 different entries. From my initial testing I concluded that Excel
might not support more than 2 arguements per column in a filter. This
is a problem as I have thousands of entries with about 15 different
codes, but 5 of the codes are different ways of saying that something
didn't happen (each for a different reason which is important,
otherwise I could just use find/replace to code them all the same) I
want to view only the rows containing entries that did happen using a
filter, but the only way I have to do this is to write a macro that
checks each entry in the column to determine if it was one of these
codes and then hides them, stepping through a loop as it goes.
Here is what I've written for that piece:
Sub Operational()
Dim ColOTP As Integer
ColOTP = 7
For i = 2 To Worksheets("Data").UsedRange.Rows.Count
With Worksheets("Data").Cells(i, ColOTP)
If .Value = "Cancelled" Or _
.Value = "Weather" Or _
.Value = "Mechanical" Or _
.Value = "None" Or _
.Value = "Not Initialized" Then
Worksheets("Data").Rows(i).EntireRow.Hidden = True
End If
End With
Next i
End Sub
While this is functional as itself, it is not functional if I apply
this and then try to filter based on a quality of something in a
different column, doing so unhides all the entries that were hidden via
the above macro that meet the quality of the filter.
in one column, the catch is that I'd like to hide anything that is one
of 5 different entries. From my initial testing I concluded that Excel
might not support more than 2 arguements per column in a filter. This
is a problem as I have thousands of entries with about 15 different
codes, but 5 of the codes are different ways of saying that something
didn't happen (each for a different reason which is important,
otherwise I could just use find/replace to code them all the same) I
want to view only the rows containing entries that did happen using a
filter, but the only way I have to do this is to write a macro that
checks each entry in the column to determine if it was one of these
codes and then hides them, stepping through a loop as it goes.
Here is what I've written for that piece:
Sub Operational()
Dim ColOTP As Integer
ColOTP = 7
For i = 2 To Worksheets("Data").UsedRange.Rows.Count
With Worksheets("Data").Cells(i, ColOTP)
If .Value = "Cancelled" Or _
.Value = "Weather" Or _
.Value = "Mechanical" Or _
.Value = "None" Or _
.Value = "Not Initialized" Then
Worksheets("Data").Rows(i).EntireRow.Hidden = True
End If
End With
Next i
End Sub
While this is functional as itself, it is not functional if I apply
this and then try to filter based on a quality of something in a
different column, doing so unhides all the entries that were hidden via
the above macro that meet the quality of the filter.