ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] §P§O­«½Æ«á¡A¨Ì·Ó±ø¥ó§R°£

¦^´_ 1# Michelle-W
  1. Sub Ex()
  2.     Dim rng As Range, dic As Object
  3.     Dim r As Long
  4.    
  5.     r = [A2].End(xlDown).Row
  6.     Range("$A$2:$G$" & r).RemoveDuplicates Columns:=Array(2, 4), Header:=xlYes
  7.    
  8.     Set dic = CreateObject("scripting.dictionary")
  9.     For Each rng In Range("A2", [A2].End(xlDown))
  10.         If Not dic.exists(CStr(rng.Offset(, 1).Value)) Then dic(CStr(rng.Offset(, 1).Value)) = ""
  11.         If rng.Offset(, 3) <> "" Then dic(CStr(rng.Offset(, 1).Value)) = rng.Offset(, 3)
  12.     Next
  13.    
  14.     For r = Range("A2").End(xlDown).Row To 2 Step -1
  15.         If Cells(r, 4) <> dic(CStr(Cells(r, 2).Value)) Then Rows(r).EntireRow.Delete
  16.     Next
  17. End Sub
½Æ»s¥N½X

   §PÂ_¨Ã§R°£.rar (16.53 KB)

TOP

¦^´_ 5# Michelle-W
  1. Sub Ex()
  2.     Dim rng As Range, dic As Object
  3.     Dim r As Long, txt As String
  4.    
  5.     r = [A2].End(xlDown).Row
  6.     Range("$A$1:$G$" & r).RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, 7), Header:=xlYes
  7.    
  8.     Set dic = CreateObject("scripting.dictionary")
  9.     For Each rng In Range("A2", [A2].End(xlDown))
  10.          If Not dic.exists(CStr(rng.Value)) Then dic(CStr(rng.Value)) = ""
  11.         If rng.Offset(, 2) <> "" Or rng.Offset(, 3) <> "" Or rng.Offset(, 4) <> "" Or rng.Offset(, 5) <> "" Or rng.Offset(, 6) <> "" Then
  12.             txt = Left(rng.Offset(, 2) & "          ", 10) & Left(rng.Offset(, 3) & "          ", 10) & _
  13.                   Left(rng.Offset(, 4) & "          ", 10) & Left(rng.Offset(, 5) & "          ", 10) & Left(rng.Offset(, 6) & "          ", 10)
  14.         Else
  15.             txt = ""
  16.         End If
  17.         
  18.         If txt <> "" Then dic(CStr(rng.Value)) = txt
  19.      Next
  20.    
  21.     For r = Range("A2").End(xlDown).Row To 2 Step -1
  22.         If Cells(r, 3) <> "" Or Cells(r, 4) <> "" Or Cells(r, 5) <> "" Or Cells(r, 6) <> "" Or Cells(r, 7) <> "" Then
  23.             txt = Left(Cells(r, 3) & "          ", 10) & Left(Cells(r, 4) & "          ", 10) & _
  24.               Left(Cells(r, 5) & "          ", 10) & Left(Cells(r, 6) & "          ", 10) & Left(Cells(r, 7) & "          ", 10)
  25.         Else
  26.             txt = ""
  27.         End If
  28.          If txt <> dic(CStr(Cells(r, 1).Value)) Then Rows(r).EntireRow.Delete
  29.     Next
  30. End Sub
½Æ»s¥N½X

TOP

¦^´_ 7# ­ã´£³¡ªL
­ã¤j¦b¦¹½d¨Ò¤¤¡AÀ³¥Îªwªj±Æ§Ç (Bubble Sort) ªº³B²z¡A
¯u¬O«ê·í¦n³B¡Aªí²{ªº²OºvºÉ­P¡A¦b¦¹¨ü±Ð¤F¡AÁÂÁ±z¡I

TOP

        ÀR«ä¦Û¦b : ¶¢¤HµL¼Ö½ì¡A¦£¤HµL¬O«D¡C
ªð¦^¦Cªí ¤W¤@¥DÃD