Ищите ключевое слово после некоторого фильтра и возвращайте значение в другом столбце - PullRequest
0 голосов
/ 24 мая 2019

К моему диапазону данных применен фильтр, и я хотел бы выполнить поиск по ключевому слову «abc» в столбце «I» после фильтрации и вернуть значение «Проверить» в самом конце моего столбца данных «W».

Я не знаю ни одного примера этой функции, но у меня был код, чтобы искать значение и удалять строку, если сумма равна 0.

'Delete rows for zero value

 Dim LR As Long, i As Long

      With Sheets("tempp")

           LR = .Cells.Find(What:="0", SearchDirection:=xlPrevious, 
           SearchOrder:=xlByRows).Row

           For i = LR To 1 Step -1
                If .Range("C" & i).Value = 0 Then .Rows(i).Delete
           Next i

      End With

Ответы [ 2 ]

0 голосов
/ 24 мая 2019

Вы можете использовать что-то вроде этого:

Dim c As Range

    'Going through each visible cell in *I* column. Change 5000 to the numbers of rows your sheet have

     For Each c In Worksheets("tempp").Range("I1:I5000").SpecialCells(xlCellTypeVisible)

        'Checking if cell contains abc

        If InStr(c.Value, "abc") > 0 Then

            Worksheets("tempp").Range("W" & c.Row).Value = "Check"

        End If

    Next

Дайте нам знать, если это работает!

0 голосов
/ 24 мая 2019

Приведенный ниже код будет искать ваш столбец I. Пожалуйста, настройте имя листа в соответствии с вашими потребностями.Он вернет проверенный статус, если найден «abc».Если он не найден, вы можете запустить желаемый чек, где это предусмотрено.

Sub RangeCheck()

Dim myRange As Range
Dim lRowW as Long

'adjust the sheet name to your sheet name
Set myRange = Sheets("Sheet1").Range("I:I").SpecialCells(xlCellTypeVisible).Find(What:="abc")

If Not myRange Is Nothing Then
    'found abc, insert checked - presumably the last row of column W?
    lRowW = Sheets("Sheet1").Range("W" & Sheets("Sheet1").Rows.Count).End(xlUp).Row

    Sheets("Sheet1").Range("W" & lRowW).Value = "Checked"

    'if not last row in column W, then use the below
    'Sheets("Sheet1").Range("W1").Value = "Checked"
Else
    'if it does not find your string "abc" then insert the check you want to run here

End If

'clear object
Set myRange = Nothing

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...