Цитата |
---|
andylu написал: и вышло совсем не то что нужно |
Что Вы имеете в виду, что если будет в базе найден артикул, а код напротив него будет пустым? Почему сразу неправильно? Будет просто две подряд запятых.Ну если нужно отметить это место тогда так:
Код |
---|
Public Function Замена_арт(ByRef s As Range, r As String, v1 As Range) As String
On Error GoTo ErrHand
Dim n As Long, x As Integer, i As Boolean, arr1 As Variant, arr3 As Variant
arr1 = v1
arr3 = Split(s, r)
i = False
For x = LBound(arr3) To UBound(arr3)
If arr3(x) <> "" Then
For n = LBound(arr1) To UBound(arr1)
If arr1(n, 1) <> "" Then
If Trim(arr3(x)) = Trim(arr1(n, 1)) Then
If arr1(n, 2) = "" Then i = False: Exit For
arr3(x) = arr1(n, 2): i = True: Exit For
End If
End If
Next n
If Not i Then arr3(x) = arr3(x) & " - не найден" Else i = False
End If
Next x
Замена_арт = Join(arr3, r)
Exit Function
ErrHand:
Замена_арт = "Ошибка"
End Function
|