Доброе утро! Ребят этот код работает хорошо, НО не всегда нужно именно первое совпадение, бывает так что нужно второе. К примеру в 34 столбце появляется цифра которая будет определять какое совпадение нужно выводить, в случае если 34 столбец пустой то искать и выдававть первое. Я понял что не разберусь в VBA сам поэтому обращаюсь к Вам. Спасибо
Код |
---|
Private Sub Worksheet_Change(ByVal Target As Range)
'If Target.Cells.Count > 1 Then Exit Sub
'If IsEmpty(Target) Then Exit Sub
If Not Intersect(Target, Range("P1:P100000")) Is Nothing Then
EE = ActiveCell.Row - 1
If IsEmpty(Cells(EE, 17)) = True Then
R = Cells(EE, 9) & " " & Cells(EE, 10) & " " & Cells(EE, 12) & "х" & Cells(EE, 13) & " - " & Cells(EE, 14) & "х" & Cells(EE, 15) & " марка-" & Cells(EE, 20)
R = LCase(R)
Cells(EE, 53) = R
Dim FoundValue As Range
With Worksheets("База АоРПИ")
TT = Cells(EE, 53)
Set FoundValue = .Columns(53).Find(TT, , xlValues, xlWhole)
If FoundValue Is Nothing Then Exit Sub
.Range(.Cells(FoundValue.Row, 9), .Cells(FoundValue.Row, 22)).Copy Cells(EE, 17)
End With
Else: Exit Sub
End If
End If
End Sub |