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

[µo°Ý] ¿z¿ï¸ê®Æ°ÝÃD

¦^´_ 9# blue2263
¨BÆJ1¬°¤â°Ê¾Þ§@,¨BÆJ2§Æ±æ¥ÎVBAªº¤è¦¡°õ¦æ
¨BÆJ2ªºµ{¦¡½X
  1. Option Explicit
  2. Sub Ex()
  3.     Dim i As Integer, Msg As String, D As Object, E As Variant, Rng As Range
  4.     With Sheets("¹ï¤â¦P²£·~")
  5.         If .AutoFilterMode Then   '¦³¨Ï¥Î¦Û°Ê¿z¿ï(AutoFilter)
  6.         'If .AutoFilterMode = True Then '¦³¨Ï¥Î¦Û°Ê¿z¿ï(AutoFilter)
  7.            With .AutoFilter.Filters(1)
  8.                 '** Filterª«¥óªº¶°¦X¡A¥Nªí¦Û°Ê¿z¿ï½d³ò¤¤ªº©Ò¦³¿z¿ï
  9.                 '** On Äݩʠ ¦pªG«ü©wªº¿z¿ï¤w¶}±Ò¡A«h¬° True¡C°ßŪ Boolean
  10.                 If .On Then Msg = Mid(.Criteria1, 2)   '**½T©w[¥N½X]¿z¿ï¦³«ü©w±ø¥ó
  11.             End With
  12.         End If
  13.         If Msg = "" Then
  14.             MsgBox .Name & " ¥N½X ¨S«ü©w !!"
  15.         Else
  16.             Set D = CreateObject("SCRIPTING.DICTIONARY")            '**¦r¨åª«¥ó
  17.             With .Range("B:B").SpecialCells(xlCellTypeVisible)              '** ¸ê®Æ¿z¿ï«á¥i¨£ªºÀx¦s®æ
  18.                 For Each E In .Cells
  19.                    If E = "" Then Exit For                                                      '** ¨S¦³¸ê®Æ²×¤î°j°é
  20.                    If E.Row > 1 Then D(E.Value) = ""                                    '** ¦r¨åª«¥ó¤¤¥[¤J ¥N½X
  21.                 Next
  22.             End With
  23.             With Sheets("¿ïªÑ³øªí")
  24.                 If .AutoFilterMode Then .AutoFilterMode = False                  '**¦³¨Ï¥Î¦Û°Ê¿z¿ï(AutoFilter)
  25.                 .Cells.EntireRow.Hidden = False                                           '** ¨ú®ø©Ò¦³¦CªºÁôÂÃ
  26.                 Set Rng = .Rows("3:" & .Range("A1").End(xlDown).Row)  '** ³]©w¸ê®Æªº½d³ò
  27.                 Rng.EntireRow.Hidden = True                                             '**  ½d³òªº¦CÁôÂÃ
  28.                 For Each E In Rng.Rows                                                      ' ** ½d³ò¦C ªº°j°é
  29.                     If D.exists(E.Cells(1, 1).Value) Then                               '**¦r¨åª«¥óªºkey­È¦³ ¥N½X
  30.                         E.EntireRow.Hidden = False                                        '** ¨ú®ø¦CªºÁôÂÃ
  31.                         D.Remove (E.Cells(1, 1).Value)                                  '**Remove ¤èªk §â¦¨­û±q Collection ª«¥ó¤¤²¾°£¡C
  32.                         If D.Count = 0 Then Exit For                                       ' '** Count ª«¥ó¤¤¦¨­ûªºÁ`¼Æ
  33.                     End If
  34.                 Next
  35.             End With
  36.             MsgBox Msg & " ¿ïªÑ³øªí Ok"
  37.         End If
  38.     End With
  39. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : §g¤l¦p¤ô¡AÀH¤è´N¶ê¡AµL³B¤£¦Û¦b¡C
ªð¦^¦Cªí ¤W¤@¥DÃD