중복 셀 값 병합 / 삭제


0

동일한 값을 가진 셀을 병합하는 데 문제가 있습니다. 열과 행의 양이 다른 Excel 파일을 받으므로 엄격한 행이나 열에 설정된 매크로를 사용할 수 없습니다. 내가 가진 것은 이것입니다병합하기 전에 뛰어나다

첫 번째 행은 물론 필터가있는 헤더 행입니다. 내가 갖고 싶은 것은 이렇게

병합 후 엑셀

그래서 나는 여전히 모든 열을 기준으로 물건을 정렬 할 수 있습니다 (멋진 자전거에는 여전히 4 행이 표시됩니다). 매크로 또는 스크립트가있을 수 있으며 시트 크기 (때로는 수천 행)에서 응답하지 않습니다. 모든 시트에 대해 수동으로 변경하고 설정해야합니까?

도움을 주셔서 감사합니다.


응, 할 수있어 Kutools의 첫 번째 것은 "응용 프로그램 정의 또는 객체 정의 오류"를 반환하고 두 번째 것은 범위를 하나의 열에 대해서만 설정해야하지만 여전히 손으로 배열을 선택해야합니다.
— SZCZERZO KŁY

셀만 병합 한 후에 는 정렬 할 수 없습니다 tagline. 그리고 병합 프로세스는 병합 된 그룹의 최상위 셀을 제외한 모든 병합 된 셀의 데이터를 삭제합니다.
— Ron Rosenfeld

답변:


1

표시 문제인 경우 조건부 서식 만 사용할 수 있습니다.

규칙은 다음과 같습니다.

=$C1=$C2

그리고 형식은 다음 Number Format 의 사용자 정의 형식에 있습니다. ;;;

그리고 어떤 열을 정렬했는지에 관계없이 태그 라인은 예제와 같이 위에 표시된 빈 행에도 적용됩니다.

조건부 서식의 정렬 및 적용은 원하는 경우 매크로로 수행 할 수 있습니다.

그러나 tagline동일한 태그 라인을 가진 모든 자전거를 그룹화 하려면 마지막 으로 정렬 해야합니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


0

이 매크로는 작동합니다 :

Public Sub merger()
    Application.DisplayAlerts = False
    Dim wkb As Workbook
    Dim wks As Worksheet
    Set wkb = ThisWorkbook
    Set wks = wkb.Sheets("Sheet1")
    firstrow = 2
    lastcolumn = "Z"
    columnsortkey = "C"
    columnmerge = 3
    Columns("A:" & lastcolumn).Sort key1:=Range(columnsortkey & ":" & columnsortkey), Header:=xlYes
    theEnd = False
    thisrow = firstrow
    found = False
    Count = 0
    While theEnd = False
        firstCell = wks.Cells(thisrow, columnmerge)
        nextCell = wks.Cells(thisrow + 1, columnmerge)
        If firstCell = nextCell Then
            If found = False Then
                found = True
                mergerfirst = thisrow
                Count = Count + 1
            Else
                Count = Count + 1
            End If
        Else
            If found = True Then
                Range(Cells(mergerfirst, columnmerge), Cells(mergerfirst + Count, columnmerge)).Merge
                found = False
                Count = 0
            End If
        End If
        thisrow = thisrow + 1
        If firstCell = "" Then theEnd = True
    Wend
    Application.DisplayAlerts = True
End Sub

작동하게하려면 ALT+로 VBA / Macros를 연 F11다음 ThisWorkbook 에서 새 모듈을 삽입하고 코드를 붙여 넣어야합니다.


빠른 답변 주셔서 감사합니다. 코드를 사용하려고하면 11 줄에 "응용 프로그램 정의 또는 개체 정의 오류"가 나타납니다. key1 : =. Range에 점을 넣으려고했지만 "잘못된 또는 규정되지 않은 참조"가 표시됩니다.
— SZCZERZO KŁY

@ SZCZERZOKŁY 행을로 변경하십시오 Columns("A:" & lastcolumn).Sort key1:=Range("C:C"), Header:=xlYes. 키 열 C로 시트 (열 A에서 Z까지)를 정렬합니다. 작동하지 않는 경우 수동으로 정렬하고 줄에 아포스트로피를 추가하여 주석 처리하십시오.
— jcbermu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.