중복 행이 포함 된 Excel 시트가 있습니다.
ACDEF 열이 동일한 경우 행을 제거하고 싶습니다 (중복을 계산하는 동안 B를 무시하고 행을 제거하는 동안 제거하십시오)
현재는 비교 및 삭제 중에 B를 무시합니다.
중복 행이 포함 된 Excel 시트가 있습니다.
ACDEF 열이 동일한 경우 행을 제거하고 싶습니다 (중복을 계산하는 동안 B를 무시하고 행을 제거하는 동안 제거하십시오)
현재는 비교 및 삭제 중에 B를 무시합니다.
답변:
Excel 2013에서
끝난
행 1과 2가 올바르게 이해되면 A1 = A2, C1 = C2, D1 = D2, E1 = E2 및 F1 = F2 인 경우에만 행 2를 삭제하려고합니다.
이것이 내가 생각해 낸 것입니다. 아마도 더 짧을 수도 있지만 트릭을 수행합니다.
Sub DeleteDuplicate()
Dim current As String
ActiveSheet.Range("A1").Activate
Do While ActiveCell.Value <> ""
current = ActiveCell.Address
ActiveCell.Offset(1, 0).Activate
Do While ActiveCell.Value <> ""
If ((ActiveSheet.Range(current).Value = ActiveCell.Value) And (ActiveSheet.Range(current).Offset(0, 2).Value = ActiveCell.Offset(0, 2).Value) And (ActiveSheet.Range(current).Offset(0, 3).Value = ActiveCell.Offset(0, 3).Value) And (ActiveSheet.Range(current).Offset(0, 4).Value = ActiveCell.Offset(0, 4).Value) And (ActiveSheet.Range(current).Offset(0, 5).Value = ActiveCell.Offset(0, 5).Value)) Then
ActiveSheet.Rows(ActiveCell.Row).Delete
Else
ActiveCell.Offset(1, 0).Activate
End If
Loop
ActiveSheet.Range(current).Offset(1, 0).Activate
Loop
End Sub
이 작업은 ActiveCell을 평가중인 행에 대한 포인터로 사용하여 나머지 모든 행을 반복하고 "원래"행의 셀을 현재 변수에 저장합니다. 루프가 종료되면 전류 아래의 셀 이 활성화되고 내부 평가 루프가 다시 시작됩니다.
어딘가에 엉망이되면 주저하지 말고 알려주십시오. :)
@ 가루 리나
나는 당신의 아이디어를 영감으로 사용했습니다. 나는 많은 행을 가지고 있었고 원하는 것은 열의 중복 값을 포함하는 행을 삭제하는 것이 었습니다. 해당 열에 대해 중복 제거를 사용하면 전체 행이 아닌 해당 열의 데이터 만 제거됩니다. 전체 테이블에서 두 번째와 세 번째 행을 모두 삭제하고 싶었습니다. 그래서 내가 한 것은 새 열을 만들고 첫 번째 행의 값을 비워 두어 두 번째 및 세 번째 행에서 나를 삭제합니다. 그런 다음 특정 열의 처음 세 행 (전체 행 아님)의 값만 복사하여 테이블의 전체 열에 붙여 넣습니다. 이제 전체 열의 두 번째와 세 번째 행마다 "삭제"가있었습니다. 그런 다음 해당 열의 값을 정렬하고 delete me가 포함 된 모든 행을 삭제해야합니다. 두 번째, 세 번째 및 네 번째 또는 두 번째, 세 번째, 네 번째 및 다섯 번째 등마다 삭제하려는 경우 동일한 솔루션을 사용할 수 있습니다 ...
그것이 누군가를 돕기를 바랍니다 ....