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

[µo°Ý] ¼Æ¦r¦U¨ú1

´ú¸ÕOK¤F!
·PÁ±zªº­@¤ß«ü¾É

TOP

15¼Ó¼g±o«Üºë²
¾Ç²ß­«¼g¦p¤U
Private Sub CommandButton1_Click()
    Set xD = CreateObject("Scripting.Dictionary")
    Tm = Timer
    Application.ScreenUpdating = False    '¦b­I´º¤U°õ¦æ
    For Each xS In Sheets(Array("·Ç2¶i3", "·Ç3¶i4", "·Ç4¶i5", "·Ç5¶i6", "·Ç6¶i7", "·Ç7¶i8")) '¨úªí®æ
        For Each xR In xS.Range("D2:J" & xS.[B65536].End(xlUp).Row) '¨úÀx¦s®æ
            For Each sp In Split(xR, ",") '¤À¶}¼Æ¦r
                If Val(sp) > 0 Then xD(Val(sp)) = s '¦r¨å²Õ¦X
            Next
        Next
        xS.[A4].Resize(99).ClearContents '²M°£Àx¦s®æ¤º®e
        xS.[a2] = xD.Count & "­Ó": xS.[A3] = "¸¹½X"
        If xD.Count = 0 Then Exit For
        With xS.[A4].Resize(xD.Count)
            .Value = Application.Transpose(xD.keys): xD.RemoveAll
            .Sort key1:=.Item(1), Order1:=xlAscending, Header:=xlNo
        End With
    Next
End Sub
{...} ªí¥Ü»Ý­n¥Î CTRL+SHIFT+ENTER ¤TÁä¿é¤J¤½¦¡

TOP

¦^´_ 19# ziv976688


with [A2]: .formula="=COUNT(A4:A52)&""­Ó""" : .value=.value: end with

©Î A2=application.COUNT(xS.[A4:A52]) & "­Ó"

TOP

¦^´_ 18# ziv976688

­×¥¿µ{¦¡ 02 »P 2 ·|­«½Æ
Private Sub CommandButton1_Click()
    Dim s%, Tm
    Tm = Timer
    Set xD = CreateObject("Scripting.Dictionary")
    Tm = Timer
    Application.ScreenUpdating = False    '¦b­I´º¤U°õ¦æ
    Shrr = Array("·Ç2¶i3", "·Ç3¶i4", "·Ç4¶i5", "·Ç5¶i6", "·Ç6¶i7", "·Ç7¶i8")
    For s = 1 To 6   '6­Ó¤u§@ªí
        With Sheets(Shrr(s - 1))
            xRows = .[b65536].End(3).Row    '¸ê®Æ³Ì«á¤@¦æ¦ì¸m
            .Range("A2:A" & xRows).ClearContents    '²M°£¸ê®Æ
            arr = .Range("D2:J" & xRows)    '¸ê®ÆÂà°}¦C¡AJOIN·|§Ö3­¿ 0.023 -> 0.0078
            'xJoin = ""
            For Each x In arr: xJoin = xJoin & IIf(x <> "", x & ",", ""): Next    '¦X¨ÖD:J¦r¦ê
            For Each xS In Split(xJoin, ",")
                If Val(xS) > 0 Then xD(Val(xS)) = "" '²Õ¦r¨å
            Next
            If xD.Count > 0 Then
                .[A4].Resize(xD.Count, 1) = Application.Transpose(xD.keys)    '¦r¨å¨ú°ß¤@¡B¤ô¥­Âà««ª½¡B¶ñ¤JÀx¦s®æ
                .[A4].Resize(xD.Count, 1).Sort Key1:=.[A4], Order1:=xlAscending, Header:=xlNo    'Àx¦s®æ±Æ§Ç
                .[A2] = xD.Count & "­Ó": .[A3] = "¸¹½X"
                Erase arr: xD.RemoveAll
            End If
        End With
    Next
    '     Sheets(Shrr).Copy
    '    ActiveWorkbook.SaveAs ThisWorkbook.Path & "\TEST_" & Nrange & "-" & Num & "´Á" & ".xls"
    '    ActiveWindow.Close
    'MsgBox Timer - Tm
End Sub
{...} ªí¥Ü»Ý­n¥Î CTRL+SHIFT+ENTER ¤TÁä¿é¤J¤½¦¡

TOP

¥»©«³Ì«á¥Ñ ziv976688 ©ó 2021-7-20 14:04 ½s¿è

¦^´_ 15# ­ã´£³¡ªL
¤£¦n·N«ä¡AÁöµM¯à¥H§Oªº¤èªk¸Ñ¨M¡A¦ý«Ü·Q¬ã²ß±zªº»yªk~
½Ð°Ý  :
A2=COUNT(A4:A52)&"­Ó"       '¥u­n²Î­p49®æ¡A¦]¬°³Ì¦h¤]¥u¦³49­Ó¸¹½X
¥H±zªº»yªk¡AÀ³¸Ó«ç»ò½s¼g ?
ÁÂÁ±z

TOP

¥»©«³Ì«á¥Ñ ziv976688 ©ó 2021-7-20 13:21 ½s¿è

¦^´_ 14# ML089
¤£¦n·N«ä¡A¨S¦³ª`·N¨ì´ú¸Õªþ¥ó¥¼¤W¶Ç
¼Æ¦r¦U¨ú1_ML089.rar (89.83 KB)

¦³¬Ý¨ì¦C17
.[A4].Resize(xD.Count, 1) = Application.Transpose(xD.keys)    '¦r¨å¨ú°ß¤@¡B¤ô¥­Âà««ª½¡B¶ñ¤JÀx¦s®æ
¥i¬O¤£ª¾¹D«ç»ò­×¥¿
ÁÂÁ±z

TOP

¦^´_ 15# ­ã´£³¡ªL
´ú¸Õ¦¨¥\
·PÁª©¥Dªº«ü¾É

TOP

¥»©«³Ì«á¥Ñ ziv976688 ©ó 2021-7-20 12:41 ½s¿è

¦^´_ 14# ML089
¤Ö¤F¨ú1~~
¦³ªþ¤Wµù©ú~À°§U§Ú¯à¤ñ¸û©úÁA¡C
·PÁª©¥Dªº«ü¾É

TOP

Sub TEST()
Dim Brr(1 To 99, 0), xS As Worksheet, A, B
For Each xS In Sheets(Array("·Ç2¶i3", "·Ç3¶i4", "·Ç4¶i5", "·Ç5¶i6", "·Ç6¶i7", "·Ç7¶i8"))
    For Each A In xS.Range("d2:j" & xS.[b65536].End(xlUp).Row + 1).Value
        For Each B In Split(A, ",")
           Brr(B, 0) = B
        Next B
    Next
    With xS.[a4].Resize(99)
         .Value = Brr:  Erase Brr
         .Sort Key1:=.Item(1), Order1:=xlAscending, Header:=xlNo
    End With
Next
End Sub

TOP

¦^´_ 11# ziv976688

¤£¬O«Ü·|¼gVBA¡A´ê¤@­Óµ¹§A°Ñ¦Ò

Private Sub CommandButton1_Click()
    Set xD = CreateObject("Scripting.Dictionary")
    Tm = Timer
    Application.ScreenUpdating = False    '¦b­I´º¤U°õ¦æ
    Shrr = Array("·Ç2¶i3", "·Ç3¶i4", "·Ç4¶i5", "·Ç5¶i6", "·Ç6¶i7", "·Ç7¶i8")
    For s = 1 To 6   '6­Ó¤u§@ªí
        With Sheets(Shrr(s - 1))
            xRows = .[b65536].End(3).Row '¸ê®Æ³Ì«á¤@¦æ¦ì¸m
            .range("A2:A" & xRows).ClearContents '²M°£¸ê®Æ
            Arr = .range("D1:J" & xRows) '¸ê®ÆÂà°}¦C¡AJOIN·|§Ö3­¿ 0.023 -> 0.0078
            xJoin = ""
            For Each x In Arr: xJoin = xJoin & IIf(x <> "", x & ",", ""): Next '¦X¨ÖD:J¦r¦ê
            For Each xS In Split(xJoin, ","): xD(xS) = "": Next    '²Õ¦r¨å
            If xD.Count > 0 Then
                .[A4].Resize(xD.Count, 1) = Application.Transpose(xD.keys)    '¦r¨å¨ú°ß¤@¡B¤ô¥­Âà««ª½¡B¶ñ¤JÀx¦s®æ
                .[A4].Resize(xD.Count, 1).Sort Key1:=.[A4], Order1:=xlAscending, Header:=xlNo    'Àx¦s®æ±Æ§Ç
                .[A2] = xD.Count & "­Ó": .[A3] = "¸¹½X"
                Erase Arr: xD.RemoveAll
            End If
        End With
    Next
    MsgBox Timer - Tm
End Sub
{...} ªí¥Ü»Ý­n¥Î CTRL+SHIFT+ENTER ¤TÁä¿é¤J¤½¦¡

TOP

        ÀR«ä¦Û¦b : ¥Ç¿ù¥XÄb®¬¤ß¡A¤~¯à²M²bµL·Ð´o¡C
ªð¦^¦Cªí ¤W¤@¥DÃD