Перенести значение из одного листа в другой с условием - VBA

Узнай цену своей работы

Формулировка задачи:

Приветствую! Возникла нужда в сортировке данных. Дело такое. Мне нужно чтобы значения ячеек из столбца А листа 2 записывались через запятую в ячейки столбца А листа 1 только там, где значение ячейки столбца В листа 1 СОДЕРЖИТСЯ в значении ячейки столбца В листа 2. Вроде правильно написал)

Решение задачи: «Перенести значение из одного листа в другой с условием»

textual
Листинг программы
Function MergeIf(nRange As Range, sRange As Range, tRange As Range, Delimiter As String) As String
    If nRange = Empty Then Exit Function
    Dim Arr(), x(), y()
    x = sRange.Value: y = tRange.Value
    If UBound(x) <> UBound(y) Then Exit Function
    For i = 1 To UBound(x)
        If InStr(x(i, 1), nRange.Value) Then
            ReDim Preserve Arr(1 To 1, 0 To n)
            Arr(1, n) = y(i, 1): n = n + 1
        End If
    Next i
    If n = Empty Then Exit Function
    MergeIf = Join(Application.Transpose(Application.Transpose(Arr)), Delimiter)
End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5
Похожие ответы