| ©«¤l254 ¥DÃD6 ºëµØ0 ¿n¤À310 ÂI¦W0  §@·~¨t²ÎW10 ³nÅ骩¥»Excel 2016 ¾\ŪÅv20 ©Ê§O¨k ¨Ó¦Û¥xÆW µù¥U®É¶¡2019-6-16 ³Ì«áµn¿ý2025-6-21 
 | 
                
| ¦^´_ 38# °a¤ªºµ ¦pªG¬O «~¸¹ «~¦W ³W®æ ¼Æ¶q ¨ä¤¤¤@ӧѰO¥´ ¥i¥H¸Õ¸Õ³oÓ:)
 Public Sub ¼Ò½k¿z¿ï()
 
 Application.ScreenUpdating = False
 Range(Sheets(2).Cells(2, 1), Sheets(2).Cells(2, 4).End(xlDown)).Font.Color = RGB(255, 0, 0)
 G = True
 Sheets(3).Select
 Sheets(3).Range(Cells(1, 1), Cells(1, 4).End(xlDown)).Clear
 Sheets(2).Select
 
 For K = 2 To Sheets(1).Cells(2, 4).End(xlDown).Row
 X = Trim(Sheets(1).Cells(K, 3))
 
 If Sheets(1).Cells(K, 1) = "" And Sheets(1).Cells(K, 2) = "" And Sheets(1).Cells(K, 3) = "" And Sheets(1).Cells(K, 4) = "" Then
 Exit For
 End If
 
 For i = 2 To Cells(2, 3).End(xlDown).Row '¨Ì±ø¥ó¿z¿ï
 
 If X <> "" And Sheets(1).Cells(K, 3) <> "" Then
 
 Sheets(2).Cells(2, 3).AutoFilter
 Cells(i, 1).AutoFilter Field:=3, Criteria1:="=*" & Mid(X, 1, 8) & "*", Operator:=xlOr, Criteria2:="=" & X & ""
 Range(Sheets(2).Cells(2, 1), Sheets(2).Cells(2, 4).End(xlDown)).Font.Color = RGB(0, 0, 0)
 
 Cells(i, 1).AutoFilter Field:=3, Criteria1:="=*" & Mid(X, 1, 5) & "*", Operator:=xlOr, Criteria2:="=" & X & ""
 Range(Sheets(2).Cells(2, 1), Sheets(2).Cells(2, 4).End(xlDown)).Font.Color = RGB(0, 0, 0)
 
 If X Like "####[-.]*" Or X Like "####[A-Z]*" Then
 Cells(i, 1).AutoFilter Field:=3, Criteria1:="=*" & Mid(X, 1, 4) & "*", Operator:=xlOr, Criteria2:="=" & X & ""
 Range(Sheets(2).Cells(2, 1), Sheets(2).Cells(2, 4).End(xlDown)).Font.Color = RGB(0, 0, 0)
 End If
 
 If Sheets(1).Cells(K, 2) <> "" Then
 If ActiveSheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Areas.Count = 1 Then
 Sheets(2).Cells(2, 3).AutoFilter
 Cells(i, 1).AutoFilter Field:=2, Criteria1:="=*" & X & "*", Operator:=xlOr, Criteria2:="=" & X & ""
 Range(Sheets(2).Cells(2, 1), Sheets(2).Cells(2, 4).End(xlDown)).Font.Color = RGB(0, 0, 0)
 
 Cells(i, 1).AutoFilter Field:=2, Criteria1:=Sheets(1).Cells(K, 2)
 Range(Sheets(2).Cells(2, 1), Sheets(2).Cells(2, 4).End(xlDown)).Font.Color = RGB(0, 0, 0)
 End If
 End If
 
 
 End If
 
 If X = "" Then
 X = Trim(Sheets(1).Cells(K, 2))
 Cells(i, 1).AutoFilter Field:=2, Criteria1:="=*" & X & "*", Operator:=xlOr, Criteria2:=Sheets(1).Cells(K, 2)
 Range(Sheets(2).Cells(2, 1), Sheets(2).Cells(2, 4).End(xlDown)).Font.Color = RGB(0, 0, 0)
 If ActiveSheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Areas.Count = 1 Then
 Sheets(2).Cells(2, 3).AutoFilter
 Cells(i, 1).AutoFilter Field:=1, Criteria1:=Sheets(1).Cells(K, 1)
 Range(Sheets(2).Cells(2, 1), Sheets(2).Cells(2, 4).End(xlDown)).Font.Color = RGB(0, 0, 0)
 If ActiveSheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Areas.Count = 1 Then
 Exit For
 End If
 Range(Sheets(2).Cells(2, 1), Sheets(2).Cells(2, 4).End(xlDown)).Font.Color = RGB(0, 0, 0)
 End If
 End If
 
 Exit For
 Next i
 
 If G = True Then
 Range(Sheets(2).Cells(1, 1), Sheets(2).Cells(1, 4).End(xlDown)).Copy Sheets(3).Cells(1, 1)
 G = False
 Else
 Range(Sheets(2).Cells(2, 1), Sheets(2).Cells(2, 4).End(xlDown)).Copy Sheets(3).Cells(1, 1).End(xlDown).Offset(1, 0)
 End If
 Sheets(2).Cells(2, 3).AutoFilter
 
 Next K
 Sheets(3).Select
 Range(Sheets(3).Cells(2, 1), Sheets(3).Cells(2, 4).End(xlDown)).RemoveDuplicates Columns:=1
 Range(Sheets(3).Cells(2, 1), Sheets(3).Cells(2, 4).End(xlDown)).Font.Color = RGB(0, 0, 0)
 Application.ScreenUpdating = True
 End Sub
 | 
 |