Я собрал несколько VBA, чтобы найти последнюю строку с определенным критерием, который соответствует текущему значению в моем цикле, а затем предпринять действия. Этот код VBA работает до тех пор, пока я не понял, что рабочая таблица может содержать совпадающее значение несколько раз, но с разными датами в другом столбце. Поэтому я сейчас пытаюсь добавить второй критерий поиска в свой VBA.
Вот фрагмент кода VBA на данный момент.
For Each t In trans.Cells
On Error GoTo NxtT2
If t.Value = Empty Then
On Error GoTo 0
ty = t.Offset(0, -3).Value
tx = t.Offset(0, -6).Value
Set searchTerm = .Range("E:E")
Set where = searchTerm.Find(what:=ty, after:=searchTerm(1), searchdirection:=xlPrevious)
If t.Offset(0, -3).Value = where.Value And IsError(where.Offset(0, 3).Value) Then
t.Value = "#N/A"
End If
End If
NxtT:
On Error GoTo 0
If t.Offset(1, -3).Value = "" Then Exit For
Next t
NxtT2:
Resume NxtT
По сути, я пытаюсь сделать так, чтобы строка Set where = searchTerm.Find(what:=ty, after:=searchTerm(1), searchdirection:=xlPrevious)
также включала значение tx
вместе с ty
, которое уже там.
Примерно так, если возможно?
Set where = searchTerm.Find(what:=ty & tx, after:=searchTerm(1), searchdirection:=xlPrevious)
Но я знаю, что это неправильный синтаксис для него.
Какой-нибудь совет, как подойти к этому проще всего?