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

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

½Ð´ú¸Õ
  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

¦^´_ 3# oak0723-1

§Aªºµ{¦¡½X©ñ¿ù¼Ò²Õ¡A¤£À³¸Ó©ñ¦b¤u§@ªí¼Ò²Õ¡AÀ³¸Ó©ñ¦b¤@¯ë¼Ò²Õ¤º¡A½Ð°Ñ¦Òªþ¥[ÀɮסC
½Ð°õ¦æ [¸ê®Æ¤Àµ§] «ö¶s¡C
060222-¤é¤Àµ§¶q - test1.rar (119.12 KB)

TOP

¦^´_ 6# oak0723-1
½Ð´ú¸Õ¡C
060223-¤é¤Àµ§¶q - test3.rar (130.13 KB)

TOP

¦^´_ 10# oak0723-1
½Ð°Ñ¦Ò
060315-¤é¤Àµ§¶q - test2.rar (131.22 KB)

TOP

        ÀR«ä¦Û¦b : ¦³®É·í«äµL®É­W¡A¦n¤Ñ­n¿n«B¨Ó³¡C
ªð¦^¦Cªí ¤W¤@¥DÃD