Динамическое вертикальное слияние ячеек в VBA или макросах

Динамическое вертикальное слияние ячеек в VBA или макросах

Я получаю данные со строкой для каждого заказанного товара на человека, который его заказал. Я пытаюсь объединить это в одну строку для человека и объединить заказанные товары

исходные данные в электронной таблице:
исходные данные в электронной таблице

Конечная цель данных:
Конечная цель данных

Глядя на ваш ответ... Макрос для объединения ячеек в столбце, если одинаковые строки объединены в другом столбце

У меня есть идея, что делать.

Я мог бы сначала попытаться объединить все имена в одну ячейку, а затем, у меня есть ситуация в том посте выше. Хотя я не уверен, как я могу это сделать. Если бы было условие if A1=A2, A1&'', это не совсем работает для меня прямо сейчас.

Так что любая помощь в этом вопросе будет полезна.

решение1

Сочетание UDF& SUBSTITUTEможет решить проблему:

введите описание изображения здесь

Как это работает:

  • Вставить 0в ячейку I236и формулу в ячейкуI237:

=IF(G236=G237,I236+1,0),заполните его.

  • Либо нажмитеАlt+F11 илирлегко нажмитеСнажмите TAB и нажмитеВiew Код дляОручка VB Editor.
  • Скопия &пСохранить этот код VBA какМодуль.

    Function SingleCellValue(Lookupvalue As String, LookupRange As Range, ColumnNumber As Integer, Char As String)
    
    Dim i As Long
    Dim xRet As String
    For i = 1 To LookupRange.Columns(1).Cells.Count
        If LookupRange.Cells(i, 1) = Lookupvalue Then
            If xRet = "" Then
                xRet = LookupRange.Cells(i, ColumnNumber) & Char
            Else
                xRet = xRet & "" & LookupRange.Cells(i, ColumnNumber) & Char
            End If
        End If
    Next
    SingleCellValue = Left(xRet, Len(xRet) - 1)
    End Function
    
  • Написать формулу в ячейкеH249:

=SingleCellValue(G249,G236:H246,2,",")

  • Окончательная формула в ячейкеI249:

=SUBSTITUTE(H249, "Cust. Order,", "", 1)

Заполните формулу.

Примечание.

  • Для большей аккуратности в дальнейшем вы можете скрыть значения в ячейке H249:H251.
  • При необходимости измените ссылки на ячейки в формуле.

Связанный контент