중복 셀 값 병합 / 삭제


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.