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

¤j¶q¸ê®Æ±Æ¦W

'°Ñ¦Ò ikboy ¾Ç²ßSystem.collections.arraylist
Sub ±Æ¦WAmoKat­×§ï()
    tm = Timer
    Dim d As Object, a, k, t, xL As Object, n&
   
    a = Range("h6:h" & [h1048576].End(3).Row)
   
    Set d = CreateObject("scripting.dictionary") '¦r¨å¨ú°ß¤@­È
    For Each k In a: If k <> "" Then d(k) = 0: Next
   
    Set xL = CreateObject("System.collections.arraylist") '±Æ§Ç§@·~
    For Each k In d.keys: xL.Add k: Next
    xL.Sort     'Sorted Ascending
    xL.Reverse  'Reverse sort
    For i = 1 To xL.Count: d(xL(i - 1)) = i: Next '±Æ§Ç§Ç¸¹(±Æ¦W)¼g¤J¦r¨å
   
    For i = 1 To UBound(a)
        If a(i, 1) = "" Then a(i, 1) = 0 Else a(i, 1) = d(a(i, 1)) '±Æ¦W¼g¤Ja°}¦C
    Next
    [i6].Resize(UBound(a)) = a 'a°}¦C¼g¤J I Äæ¦ì
    Debug.Print Timer - tm, "End"  '31.40" §ïµ½¬° 0.332"
End Sub
{...} ªí¥Ü»Ý­n¥Î CTRL+SHIFT+ENTER ¤TÁä¿é¤J¤½¦¡

TOP

¥»©«³Ì«á¥Ñ ML089 ©ó 2021-10-19 16:44 ½s¿è

10¸Uµ§¸ê®Æ¡A°ß¤@­È¦³1¸Uµ§¡A±Æ¦W¤ñ¸û
±Æ§Ç±Ä¥Î Range.Sort   °õ¦æ®É¶¡  0.3"
±Æ§Ç±Ä¥Î System.collections.arraylist    °õ¦æ®É¶¡  0.33"
±Æ§Ç±Ä¥Î Large¨ç¼Æ °õ¦æ®É¶¡ 30"
µ²½× Range.Sort ¤]¤£ºC

­ì¸ê®Æ10¸Uµ§¥u¦³6µ§¬O°ß¤@­È¡A³o¼Ë´ú¤£¥X®Ä²v¡A
¨ä¹ê°ß¤@­È¤p©ó10µ§¥Î¨ç¼Æ¤]¥i¥H 0.3"¡A°ß¤@­È¬°1¸Uµ§»Ý­n46¬í

Sub ±Æ¦WAmoKat()
    tm = Timer
    Set xD = CreateObject("Scripting.Dictionary")
    Arr = Range([h6], [h1].Cells(Rows.Count, 1).End(xlUp))
    For i = 1 To UBound(Arr): xD(Arr(i, 1)) = 0: Next i '¦r¨å²£¥Í°ß¤@­È
    With [i6].Resize(xD.Count) '§Q¥Î Range.Sort ±Æ§Ç
        .Value = Application.Transpose(xD.keys)
        .Sort Key1:=.Item(1), Order1:=xlDescending, Header:=xlNo
    End With
    For i = 1 To xD.Count: xD(Cells(5 + i, "I").Value) = i: Next i '±Æ§Ç§Ç¸¹¼g¤J¦r¨å
    For i = 1 To UBound(Arr)    '¬d¸ß¦r¨å±Æ¦C§Ç¸¹
        If Arr(i, 1) = "" Then Arr(i, 1) = 0 Else Arr(i, 1) = xD(Arr(i, 1))
    Next i
    [i6].Resize(UBound(Arr)) = Arr '¶K¤W¸ê®Æ
    Set xD = Nothing: Erase Arr
    Debug.Print Timer - tm    '0.30"
End Sub
{...} ªí¥Ü»Ý­n¥Î CTRL+SHIFT+ENTER ¤TÁä¿é¤J¤½¦¡

TOP

        ÀR«ä¦Û¦b : ¤Ó¶§¥ú¤j¡B¤÷¥À®¦¤j¡B§g¤l¶q¤j¡A¤p¤H®ð¤j¡C
ªð¦^¦Cªí ¤W¤@¥DÃD