Строка поиска и, если найдено, вставьте значение - затем цикл - PullRequest
2 голосов
/ 23 апреля 2019

Я пытаюсь создать макрос, который ищет в столбце две строки («Комиссионные» или «Без сделки». Если он находит это, он вставляет значение «Y» в другой столбец. Если это не так)т затем вставляется «N».

Я изо всех сил пытаюсь заставить его работать и не уверен, что делать для части «не равно« N »).

Пример дляпросто найти "чаевые" ниже:

Sheets("Pipeline simplified").Select

Dim TipFee As String
Dim NonDeal As String
Dim t As Integer
Dim LastRowtip As Long
TipFee = "Tip Fee"
NonDeal = "Non-Deal"
LastRowtip = Cells(Rows.Count, "H").End(xlUp).Row


For t = 7 To LastRowtip

    If Cells(t, 8).Value = TipFee Then
    Cells(t, 30).Value = "Y"
      End If
Next t

Ответы [ 2 ]

3 голосов
/ 23 апреля 2019

Можно по-прежнему использовать формулу в VBA, поэтому нет необходимости в цикле.Формула может быть создана для поиска текста внутри ячейки, а также может быть без учета регистра.Затем просто преобразуйте значения в последующие.

Dim ws As Worksheet

Set ws = ActiveWorkbook.Worksheets("Pipeline simplified")

With ws.Range("AD7:AD" & ws.Cells(ws.Rows.Count, "H").End(xlUp).Row)
    .Formula = "=IF(OR(ISNUMBER(SEARCH({""Tip Fee"",""Non-Deal""},H7))),""Y"",""N"")"
    .Value = .Value
End With
2 голосов
/ 23 апреля 2019

Попробуйте:

If Cells(t, 8).Value = TipFee Or Cells(t, 8).Value = NonDeal Then
    Cells(t, 30).Value = "Y"
Else
    Cells(t, 30).Value = "N"
End If

Также проверьте, как работает предложение IF:

If ... Then ... Else Statement

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