동일한 값을 가진 셀을 병합하는 데 문제가 있습니다. 열과 행의 양이 다른 Excel 파일을 받으므로 엄격한 행이나 열에 설정된 매크로를 사용할 수 없습니다. 내가 가진 것은 이것입니다
첫 번째 행은 물론 필터가있는 헤더 행입니다. 내가 갖고 싶은 것은 이렇게
그래서 나는 여전히 모든 열을 기준으로 물건을 정렬 할 수 있습니다 (멋진 자전거에는 여전히 4 행이 표시됩니다). 매크로 또는 스크립트가있을 수 있으며 시트 크기 (때로는 수천 행)에서 응답하지 않습니다. 모든 시트에 대해 수동으로 변경하고 설정해야합니까?
도움을 주셔서 감사합니다.
답변
표시 문제인 경우 조건부 서식 만 사용할 수 있습니다.
규칙은 다음과 같습니다.
=$C1=$C2
그리고 형식은 다음 Number Format
의 사용자 정의 형식에 있습니다. ;;;
그리고 어떤 열을 정렬했는지에 관계없이 태그 라인은 예제와 같이 위에 표시된 빈 행에도 적용됩니다.
조건부 서식의 정렬 및 적용은 원하는 경우 매크로로 수행 할 수 있습니다.
그러나 tagline
동일한 태그 라인을 가진 모든 자전거를 그룹화 하려면 마지막 으로 정렬 해야합니다.
답변
이 매크로는 작동합니다 :
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 에서 새 모듈을 삽입하고 코드를 붙여 넣어야합니다.