VBA 또는 매크로의 동적 수직 셀 병합

VBA 또는 매크로의 동적 수직 셀 병합

주문한 사람별로 주문한 각 항목에 대한 행이 있는 데이터를 가져오고 있습니다. 나는 그것을 사람의 한 행과 주문한 항목의 병합으로 통합하려고합니다.

스프레드시트의 원본 데이터:
스프레드시트의 원본 데이터

데이터의 최종 목표:
데이터의 최종 목표

귀하의 답변을 살펴보면 ... 동일한 행이 다른 열에 병합된 경우 열의 셀을 병합하는 매크로

나는 무엇을 해야할지에 대한 아이디어를 가지고 있습니다.

먼저 모든 이름을 하나의 셀로 병합하려고 시도한 다음 위의 해당 게시물에 상황이 있습니다. 내가 어떻게 그렇게 할 수 있을지는 모르겠지만. if 절 A1=A2, A1&''이면 지금 당장은 효과가 없습니다.

따라서 이것에 대한 도움이 좋을 것입니다.

답변1

UDF& 의 조합으로 SUBSTITUTE문제를 해결할 수 있습니다.

여기에 이미지 설명을 입력하세요

작동 방식:

  • 0셀에 넣고 I236셀에 수식 넣기I237:

=IF(G236=G237,I236+1,0),그것을 채워라.

  • 누르거나lt+F11 또는아르 자형클릭해 보세요에스히트 TAB & 히트V코드를영형펜 VB 편집기.
  • 오피 &이 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)

수식을 아래로 채웁니다.

주의

  • 나중에 깔끔하게 정리하기 위해 Cell 의 값을 숨길 수도 있습니다 H249:H251.
  • 필요에 따라 수식의 셀 참조를 조정합니다.

관련 정보