Есть ли способ поиска и скрытия всех столбцов, которые не содержат значения, введенного в данную ячейку? - PullRequest
0 голосов
/ 11 апреля 2019

Мне нужно скрыть все строки, которые не содержат частичное значение, введенное в определенную ячейку, но не могут понять, как определить ячейку как значение поиска, а не конкретную строку, используя VBA в Excel.

Мне удалось скрыть все строки, которые содержат точное значение, введенное в ячейку, но также должны соответствовать всем частичным значениям.

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

Если я наберу 5555 в ячейку (1,35) и нажму кнопку, все ячейки, которые не содержат последовательности 5555, будут скрыты, а все строки, которые имеют (пример) 1555522 остаются невидимыми.

Ответы [ 2 ]

0 голосов
/ 11 апреля 2019

Использование 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
0 голосов
/ 11 апреля 2019

Используйте 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...