我需要隐藏不包含键入到特定单元格中的部分值的所有行,但无法弄清楚如何使用Excel中的VBA将单元格定义为搜索值而不是特定字符串。
我已经能够隐藏所有包含键入到单元格中的确切值但也需要匹配所有部分值的行。
For a = 2 To 200
If Worksheets("Purchase Log").Cells(a, 2).Value = Cells(1, 35) Then
Worksheets("Purchase Log").Rows(a).Hidden = False
Else
Worksheets("Purchase Log").Rows(a).Hidden = True
End If
如果我在单元格(1,35)中键入5555并单击按钮,则所有不包含任何序列5555的单元格都将被隐藏,而所有包含(例如)的行 1555522未被隐藏。
答案 0 :(得分:0)
使用InStr()进行部分匹配:
For a = 2 To 200
If InStr(Worksheets("Purchase Log").Cells(a, 2).Value, Cells(1, 35).Value) Then
Worksheets("Purchase Log").Rows(a).Hidden = False
Else
Worksheets("Purchase Log").Rows(a).Hidden = True
End If
Next a
答案 1 :(得分:0)
使用Like
应该可以解决问题:
For a = 2 To 200
If Worksheets("Purchase Log").Cells(a, 2).Value Like "*" & Cells(1, 35) & "*" Then
Worksheets("Purchase Log").Rows(a).Hidden = False
Else
Worksheets("Purchase Log").Rows(a).Hidden = True
End If
Next