- ©«¤l
- 5923
- ¥DÃD
- 13
- ºëµØ
- 1
- ¿n¤À
- 5986
- ÂI¦W
- 0
- §@·~¨t²Î
- win10
- ³nÅ骩¥»
- Office 2010
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥xÆW°ò¶©
- µù¥U®É¶¡
- 2010-5-1
- ³Ì«áµn¿ý
- 2022-1-23
        
|
¦^´_ 9# blue2263
¨BÆJ1¬°¤â°Ê¾Þ§@,¨BÆJ2§Æ±æ¥ÎVBAªº¤è¦¡°õ¦æ
¨BÆJ2ªºµ{¦¡½X- Option Explicit
- Sub Ex()
- Dim i As Integer, Msg As String, D As Object, E As Variant, Rng As Range
- With Sheets("¹ï¤â¦P²£·~")
- If .AutoFilterMode Then '¦³¨Ï¥Î¦Û°Ê¿z¿ï(AutoFilter)
- 'If .AutoFilterMode = True Then '¦³¨Ï¥Î¦Û°Ê¿z¿ï(AutoFilter)
- With .AutoFilter.Filters(1)
- '** Filterª«¥óªº¶°¦X¡A¥Nªí¦Û°Ê¿z¿ï½d³ò¤¤ªº©Ò¦³¿z¿ï
- '** On ÄÝ©Ê ¦pªG«ü©wªº¿z¿ï¤w¶}±Ò¡A«h¬° True¡C°ßŪ Boolean
- If .On Then Msg = Mid(.Criteria1, 2) '**½T©w[¥N½X]¿z¿ï¦³«ü©w±ø¥ó
- End With
- End If
- If Msg = "" Then
- MsgBox .Name & " ¥N½X ¨S«ü©w !!"
- Else
- Set D = CreateObject("SCRIPTING.DICTIONARY") '**¦r¨åª«¥ó
- With .Range("B:B").SpecialCells(xlCellTypeVisible) '** ¸ê®Æ¿z¿ï«á¥i¨£ªºÀx¦s®æ
- For Each E In .Cells
- If E = "" Then Exit For '** ¨S¦³¸ê®Æ²×¤î°j°é
- If E.Row > 1 Then D(E.Value) = "" '** ¦r¨åª«¥ó¤¤¥[¤J ¥N½X
- Next
- End With
- With Sheets("¿ïªÑ³øªí")
- If .AutoFilterMode Then .AutoFilterMode = False '**¦³¨Ï¥Î¦Û°Ê¿z¿ï(AutoFilter)
- .Cells.EntireRow.Hidden = False '** ¨ú®ø©Ò¦³¦CªºÁôÂÃ
- Set Rng = .Rows("3:" & .Range("A1").End(xlDown).Row) '** ³]©w¸ê®Æªº½d³ò
- Rng.EntireRow.Hidden = True '** ½d³òªº¦CÁôÂÃ
- For Each E In Rng.Rows ' ** ½d³ò¦C ªº°j°é
- If D.exists(E.Cells(1, 1).Value) Then '**¦r¨åª«¥óªºkeyȦ³ ¥N½X
- E.EntireRow.Hidden = False '** ¨ú®ø¦CªºÁôÂÃ
- D.Remove (E.Cells(1, 1).Value) '**Remove ¤èªk §â¦¨û±q Collection ª«¥ó¤¤²¾°£¡C
- If D.Count = 0 Then Exit For ' '** Count ª«¥ó¤¤¦¨ûªºÁ`¼Æ
- End If
- Next
- End With
- MsgBox Msg & " ¿ïªÑ³øªí Ok"
- End If
- End With
- End Sub
½Æ»s¥N½X |
|