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

[µo°Ý] ¸ê®Æ¾ã²z»P²Î­p

ÁÂÁÂkubi¤j¤j§A¼ö¤ßÀ°§Ú³o­Ó¦£
¥u¬O¸g§Ú´ú¸Õ¦ü¥G(±Nµ{¦¡½X¥H«öÁäÁÍ°Ê)
°£¤F¼Æ¾ÚÅã¥Ü¦ì¸m¦³»~¥~
¨Ì½s¸¹¦U¯Å¶Z©Ò¦X­p»Pµ§¼Æ¦ü¥G»P§Ú¦Û¤v°µªº¨ç¼Æ+¤â°Êªº¼Æ»E¦³©Ò®t¶Z

060222-¤é¤Àµ§¶q - test.rar (112.03 KB)

TOP

½Ð´ú¸Õ
  1. Option Base 1

  2. Sub test()
  3.     Dim d As Object
  4.     Dim arr, brr()
  5.     Set d = CreateObject("Scripting.Dictionary")
  6.     s = Array(1000, 5000, 10000, 15000, 20000, 30000, 40000, 50000, 100000, 200000, 400000, 600000, 800000, 1000000, 2000000, 3000000)
  7.     er = [A65536].End(3).Row
  8.     arr = Range("A8:C" & er)
  9.     Range("A8:C" & er).Sort key1:=[A8], Order1:=2
  10.     For i = 1 To UBound(arr)
  11.         If Not d.exists(arr(i, 1)) Then
  12.             n = n + 1
  13.             d(arr(i, 1)) = n
  14.         End If
  15.     Next i
  16.     ReDim brr(d.Count, UBound(s) * 4)
  17.     [D8:D65536].ClearContents
  18.     [D8].Resize(d.Count) = Application.Transpose(d.keys)
  19.     Range("A8:C" & er) = arr
  20.     For i = 1 To UBound(arr)
  21.         For j = 2 To 3
  22.             If arr(i, j) >= 1000 Then
  23.                 For a = 1 To UBound(s) - 1
  24.                     If arr(i, j) >= s(a) And arr(i, j) < s(a + 1) Then
  25.                         brr(d(arr(i, 1)), (a - 1) * 4 + j * 2 - 3) = brr(d(arr(i, 1)), (a - 1) * 4 + j * 2 - 3) + arr(i, j)
  26.                         brr(d(arr(i, 1)), (a - 1) * 4 + j * 2 - 2) = brr(d(arr(i, 1)), (a - 1) * 4 + j * 2 - 2) + 1
  27.                         Exit For
  28.                     End If
  29.                 Next a
  30.             End If
  31.         Next j
  32.     Next i
  33.     [E8].Resize(UBound(brr), UBound(brr, 2)) = brr
  34.     arr = ""
  35.     Set d = Nothing
  36.     Erase brr
  37. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : §Ú­Ì³Ì¤jªº¼Ä¤H¤£¬O§O¤H¡D¥i¯à¬O¦Û¤v¡C
ªð¦^¦Cªí ¤W¤@¥DÃD