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

¦p¦ó³z¹LVBAÀH¾÷"¸U¤¤¨ú¤@"(¦ý¤£¯à­«½Æ),©â§¹¤@¸U¦¸

¥»©«³Ì«á¥Ñ stillfish00 ©ó 2014-8-19 17:15 ½s¿è

¨Ñ°Ñ¦Ò:
  1. Sub test()  'ÀH¾÷¨ú¥X«ü©w­Ó¼Æªº¤£­«½Æ
  2.   Dim ar, num As Long, r, tmp
  3.   
  4.   ar = [D1:D10000].Value  '­ì©l¸ê®Æ(¥²¶·¬O¤£­«½Æ­È)
  5.   num = 10000 '³]©w¨ú´X­Ó­È
  6.   
  7.   Randomize 'ªì©l¤ÆÀH¾÷¨ç¼ÆRnd()ªººØ¤l  
  8.   For i = 1 To num
  9.     '±qi¨ì³Ì«á¤@µ§¨ú¥X¤@­Ó
  10.     r = Int(Rnd * UBound(ar) - i) + i
  11.     '¨ú¨ìªº´«¨ì«e­±
  12.     tmp = ar(r, 1)
  13.     ar(r, 1) = ar(i, 1)
  14.     ar(i, 1) = tmp
  15.   Next
  16.   
  17.   '¨Ì§Çµ²ªG¨ìFÄæ
  18.   [F1].Resize(num) = ar
  19. End Sub
½Æ»s¥N½X

TOP

¦^´_ 7# GBKEE
©êºp¡A¤Ö¤F¬A¸¹
r = Int(Rnd * (UBound(ar) - i)) + i

·PÁ«ü¥¿!!

TOP

¥»©«³Ì«á¥Ñ stillfish00 ©ó 2014-8-20 09:30 ½s¿è

¦^´_ 7# GBKEE
«ä¼{¤£©P:L  ¡AÀ³¸Ó¬O
r = Int(Rnd * (UBound(ar) - i+1)) + i
  1. Sub test()  'ÀH¾÷¨ú¥X«ü©w­Ó¼Æªº¤£­«½Æ
  2.   Dim ar, num As Long, r, tmp
  3.   
  4.   ar = [D1:D10000].Value  '­ì©l¸ê®Æ(¥²¶·¬O¤£­«½Æ­È)
  5.   num = 10000 '³]©w¨ú´X­Ó­È
  6.   
  7.   Randomize 'ªì©l¤ÆÀH¾÷¨ç¼ÆRnd()ªººØ¤l  
  8.   For i = 1 To num
  9.     '±qi¨ì³Ì«á¤@µ§¨ú¥X¤@­Ó
  10.     r = Int(Rnd * (UBound(ar) - i + 1 )) + i
  11.     '¨ú¨ìªº´«¨ì«e­±
  12.     tmp = ar(r, 1)
  13.     ar(r, 1) = ar(i, 1)
  14.     ar(i, 1) = tmp
  15.   Next
  16.   
  17.   '¨Ì§Çµ²ªG¨ìFÄæ
  18.   [F1].Resize(num) = ar
  19. End Sub
½Æ»s¥N½X

TOP

¦^´_ 10# PKKO
¶È¨Ñ°Ñ¦Ò¡A¤£¦P¹q¸£°õ¦æ®É¶¡¤]¤£¦P
  1. Sub test()
  2.   Dim ar1, ar2, ar3, ar
  3.   Dim i As Integer, j As Integer, k As Integer, n As Long
  4.   Dim t, s As String
  5.   
  6.   t = Timer
  7.   ar1 = [A1:A100].Value
  8.   ar2 = [B1:B100].Value
  9.   ar3 = [C1:C100].Value
  10.   ReDim ar(1 To UBound(ar1) * UBound(ar2) * UBound(ar3), 1 To 1)
  11.   n = 0
  12.   For i = 1 To 100
  13.     For j = 1 To 100
  14.       s = ar1(i, 1) & ar2(j, 1)
  15.       For k = 1 To 100
  16.         n = n + 1
  17.         ar(n, 1) = s & ar3(k, 1)
  18.       Next
  19.     Next
  20.   Next
  21.   
  22.   Debug.Print Timer - t     '¤p©ó1¬í
  23.   
  24.   Application.ScreenUpdating = False
  25.   [E1].Resize(UBound(ar)).Value = ar    '§âµ²ªG±qarray©ñ¨ì¤u§@ªí¤Wªá¶O³Ì¦h®É¶¡
  26.   Application.ScreenUpdating = True
  27.   
  28.   Debug.Print Timer - t     '¬ù 1X ¬í
  29. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ¯àµ½¥Î®É¶¡ªº¤H¡A¥²¯à´x´¤¦Û¤v§V¤Oªº¤è¦V¡C
ªð¦^¦Cªí ¤W¤@¥DÃD