Board logo

¼ÐÃD: [µo°Ý] ½Ð±Ð­n¦p¦ó¨Ï¥Î VBA §P§O¤£³W«hÀx¦s®æªº¿ìªk2 [¥´¦L¥»­¶]

§@ªÌ: c_c_lai    ®É¶¡: 2013-12-5 07:55     ¼ÐÃD: ½Ð±Ð­n¦p¦ó¨Ï¥Î VBA §P§O¤£³W«hÀx¦s®æªº¿ìªk2

¦]¨Ï¥Î FireFox¡BIE¡B Google Chrome µ¥¤u¨ã¤W¶Ç¹Ï¤ù¤Î´ú¸ÕÀÉ®×
³£µLªk¶¶§Q§¹¦¨°õ¦æ (¤@¤ùªÅ¥Õ¡A¥BµLªk¦^¨ì­ìµe­±)¡A©Ò¥H¦A¦¸
¥t°_Äl¨_¡C
¤£¬O­n­pºâ,¬O­n²Î­p,²Ä¤@­Ó¤u§@ªí¦³"0"³¡¥÷ªº­±¿n,

1­Ó0²Õ¦¨ªº­±¿n :¦³¦h¤Ö­Ó?
2­Ó0²Õ¦¨ªº­±¿n¡G¦³¦h¤Ö­Ó
3­Ó0²Õ¦¨ªº­±¿n ¦³¦h¤Ö­Ó
.
.
50­Ó0²Õ¦¨ªº­±¿n¡G¦³¦h¤Ö­Ó?
.
­n§Q¥Î²Î­p¥X¨Óªº¼Æ¾Ú,»s¦¨¹³§é½uªº¹Ïªí¡C
²Ä¤@¤u§@ªí¼Æ¦r¬O±q²Ä¤G¤u§@ªí¹Ï¤ùÂà´«¨Óªº
0 ¸ò255 ¬O¥Nªí²Ä¤G¤u§@ªí¹Ï¤ù ÃC¦âªº¼Æ¦r
·q½Ð¤j®a«ü±Ð¡AÁÂÁ¡I
  1. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  2. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  3. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  4. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  5. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  6. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        0        0        255        255        255        255        255        255        255        255
  7. 0        0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        0        0        0        0        0        255        255        255        255        255        255
  8. 0        0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        0        0        0        0        255        255        255        255        255        255
  9. 0        0        0        0        0        0        0        255        255        255        255        255        255        255        255        255        0        0        0        0        255        255        255        255        255        255        255
  10. 0        0        0        0        0        0        0        255        255        255        255        255        255        255        255        255        255        0        0        0        0        255        255        255        255        255        255
  11. 0        0        0        0        0        0        0        0        255        255        255        255        255        255        255        255        0        0        0        0        255        255        255        255        255        255        255
  12. 0        0        0        0        0        0        0        255        255        255        255        255        255        255        255        0        0        0        0        255        255        255        255        255        255        255        255
  13. 0        0        0        0        0        0        255        255        255        255        255        255        255        255        255        255        0        0        0        0        255        255        255        255        255        255        255
  14. 0        0        0        0        0        0        0        255        255        255        255        255        255        255        255        0        0        0        0        255        255        255        255        255        255        255        255
  15. 0        0        255        255        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  16. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  17. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  18. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  19. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  20. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  21. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  22. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  23. 0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        0        0        0        0
  24. 255        255        255        255        255        255        255        255        255        255        255        0        0        255        255        255        255        255        255        255        255        255        255        0        0        0        0
  25. 255        255        255        255        255        255        255        255        255        255        255        255        0        0        255        255        255        255        255        255        255        255        0        0        0        0        0
  26. 255        255        255        255        255        255        255        255        255        255        255        255        255        0        0        255        255        255        255        255        255        0        0        0        0        0        0
  27. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        0        0        0        0        0
  28. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        0        0        0        0        0        0
  29. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        0        0        0        0        0
  30. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        0        0        0        0        0        0
  31. 255        255        255        255        255        255        255        255        255        255        255        0        255        255        255        255        255        255        255        255        255        255        0        0        0        0        255
  32. 255        255        255        255        255        255        255        255        255        255        255        0        0        255        255        255        255        255        255        255        255        255        255        0        0        255        255
  33. 255        255        255        255        255        255        255        255        255        255        255        255        0        0        255        255        255        255        255        255        255        255        255        255        255        255        255
  34. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  35. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  36. 255        255        255        255        255        255        255        0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  37. 255        255        255        255        255        255        0        0        0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  38. 255        255        255        255        255        255        255        0        0        0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  39. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  40. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  41. 0        0        0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  42. 0        0        0        0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  43. 0        0        0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  44. 0        0        0        0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  45. 0        0        0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  46. 0        0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  47. 0        0        0        0        0        0        0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  48. 0        0        0        0        0        0        0        0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        0        255        255
  49. 0        0        0        255        255        0        0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        0        255        255        255
  50. 0        0        255        255        255        0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        0        0        255        255
  51. 0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  52. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  53. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  54. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  55. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  56. 0        0        0        0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  57. 0        0        0        0        0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        0        0        0        0        0        0        0
  58. 0        0        0        0        0        0        0        255        255        255        255        255        255        255        255        255        255        255        255        0        0        0        0        0        0        0        0
  59. 0        0        0        0        0        0        0        255        255        255        255        255        255        255        255        255        255        255        255        0        0        0        0        0        0        0        0
  60. 0        0        0        0        0        0        0        255        255        255        255        255        255        255        255        255        255        255        255        0        0        0        0        0        0        0        0
  61. 0        0        0        0        0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        0        0        0        0        0
  62. 0        0        0        0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        0        0        0        0        0        0
  63. 0        0        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  64. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
  65. 255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255        255
½Æ»s¥N½X

§@ªÌ: c_c_lai    ®É¶¡: 2013-12-5 07:59

¦^´_ 1# c_c_lai
¯u©_©Ç¡I ¤§«e±ý¤W¶Çªºªþ¥ó©ó¦¹¦¸µo¤å¡A³ºµM²ö¦W¦a¦Û°Ê¥þ³¡¥X²{¤F¡A
¹ê¦b¤Ó¦n¤F¡C
§@ªÌ: c_c_lai    ®É¶¡: 2013-12-5 08:08

¦^´_ 2# c_c_lai
¹ï¤£°_¡I ¦³Ãö luhpro µ¥¤j¤jªº¦^¤å¡A
§Ú¦b­ìµo¤å "½Ð±Ð­n¦p¦ó¨Ï¥Î VBA §P§O¤£³W«hÀx¦s®æªº¿ìªk"¤¤
¬Ý¤£¨ì (¦³¦¬¨ì"®ø®§"¡B¦ý¶i¥h±ý«ôŪ®É«oµL¦¹¬ÛÃö¦^¤å¤º®e)¡A
·q½Ð¦A¦¸½ç±Ð¡AÁÂÁ§Aµ¥¡C
§@ªÌ: stillfish00    ®É¶¡: 2013-12-5 13:46

¦^´_ 1# c_c_lai
¼g±o®¼¶Ãªº¡A¥]²[«¢~
d1¦r¨å : Address , ­±¿n
d2¦r¨å : ­±¿n , ­Ó¼Æ
¨Ì»Ý¨D¦A¦Û¤v§ï§ï§a
  1. Sub test()
  2.   Dim d1, d2, bCombine As Boolean, lCol As Long
  3.   Dim stripe As Range, stripeOffset As Range, rngTarget As Range
  4.   
  5.   Set d1 = CreateObject("scripting.dictionary")
  6.   With Sheets(1).[A1].CurrentRegion
  7.     .Replace What:="0", Replacement:=""
  8.     For lCol = 1 To .Columns.Count
  9.       If Application.CountA(.Columns(lCol).Cells) < .Columns(lCol).Cells.Count Then
  10.         For Each stripe In .Columns(lCol).SpecialCells(xlCellTypeBlanks).Areas
  11.           If stripe.Column = 1 Then
  12.             Set stripeOffset = stripe
  13.           Else
  14.             Set stripeOffset = .Parent.Range(stripe.Address).Offset(0, -1)
  15.           End If
  16.           bCombine = False
  17.           For Each prev In d1.keys
  18.             If Not Application.Intersect(.Parent.Range(prev), stripeOffset) Is Nothing Then
  19.               If d1.exists(stripe.Address) Then d1.Remove (stripe.Address)
  20.               Set stripe = Union(.Parent.Range(prev), stripe)
  21.               d1.Remove prev
  22.               d1(stripe.Address) = stripe.Count
  23.               Set stripeOffset = Union(stripeOffset, .Parent.Range(prev))
  24.               bCombine = True
  25.             End If
  26.           Next prev
  27.           If Not bCombine Then d1(stripe.Address) = stripe.Count
  28.         Next stripe
  29.       End If
  30.     Next lCol
  31.     .Replace What:="", Replacement:="0"
  32.   End With
  33.   
  34.   Set d2 = CreateObject("scripting.dictionary")
  35.   For Each x In d1.items
  36.     If d2.exists(x) Then
  37.       d2(x) = d2(x) + 1
  38.     Else
  39.       d2(x) = 1
  40.     End If
  41.   Next
  42.   For Each x In d2.keys
  43.     Debug.Print "­±¿n " & x & " : " & d2(x) & "­Ó"
  44.   Next
  45. End Sub
½Æ»s¥N½X

§@ªÌ: c_c_lai    ®É¶¡: 2013-12-5 20:28

¦^´_ 4# stillfish00
¤£¦n·N«ä¡ARUN ¨ì²{¦b¤w¸g¹L ¥b­Ó¦h¤p®É (µL¦^À³)¡A
¥i¯àÀɮפӤj¤F§a¡A©ú¤é§Ú¦A¸Õ¸Õ¡AÁÂÁ§A¡I
§@ªÌ: c_c_lai    ®É¶¡: 2013-12-6 09:32

¦^´_ 4# stillfish00
§Úµyµy­×§ï¤F³B¸Ìªº½d³ò¡G
°²³] lCol ¥Ø«e­È ¬° 1
  1. '  Sheets(1).Columns(lCol).Cells.Count : 65536
  2. '  Sheets(1).Range(Chr(64 + lCol) & Sheets(1).Rows.Count).End(xlUp).Row : 960
  3. '  Application.CountA(.Columns(lCol).Cells) : 861
½Æ»s¥N½X
±N³B¸Ìªº½d³ò¤©¥HÁY¤p¡A¥HÁקK¯Ó®É³B¸Ì¡G
  1. '  If Application.CountA(.Columns(lCol).Cells) < .Columns(lCol).Cells.Count Then
  2. If Application.CountA(.Columns(lCol).Cells) < .Range(Chr(64 + lCol) & .Rows.Count).End(xlUp).Row Then
½Æ»s¥N½X
¥Ø«e¦b°õ¦æ¹Lµ{¤¤·|¥X²{ 1004 ªº¿ù»~°T®§¡A©Ò¥HÁÙ¦b Debug ¤¤¡C
(À³¥Îµ{¦¡©Îª«¥ó©w¸q¤Wªº¿ù»~)
ÁÂÁ§A¡I
§@ªÌ: stillfish00    ®É¶¡: 2013-12-6 09:42

¦^´_ 6# c_c_lai
¶]ªº½d³ò¤j·§¦h¤j©O(´X­¼´X) ? ¦³Àɮ׶Ü?
§Úª¾¹D§Úªº¤èªk®Ä²v«Ü®tªº¡A
¦]¬°§Úªº§@ªk¬O¤Àcolumns¡A¨C­Ócolumns¦A¤À¬°¼Æ­Ó±aª¬³sÄòªº0¡A
µM«á¤~¨Ì³o±aª¬0 ¥h§PÂ_µ²¦X°_¨Ó¡A
¦]¬°§Ú¤]¨S·Q¨ì¦³¬Æ»ò¦n¤èªk
§@ªÌ: c_c_lai    ®É¶¡: 2013-12-6 10:14

¦^´_ 7# stillfish00
#1 ¤Wªºªþ¥ó "­±¿n¤j¤p¤À§G²Î­p.rar"  (109.12 KB)
¤£ª¾¹D§A¯à§_§¹¾ã¤U¸ü¤U¨Ó¡H
¯u³Â·Ð§A¤F¡I
§@ªÌ: c_c_lai    ®É¶¡: 2013-12-6 10:19

¦^´_ 7# stillfish00
¥t¥~¡A
  1. If Not Application.Intersect(.Parent.Range(prev), stripeOffset) Is Nothing Then
½Æ»s¥N½X
§Ú±N¥¦§ï¦¨
  1. If Not Application.Intersect(Range(prev), stripeOffset) Is Nothing Then
½Æ»s¥N½X
¤£ª¾¹ï§_¡H ¦p¦¹¥¦¤~¯à§PÂ_
  1. '     Application.Intersect(Range(prev), stripeOffset) : Nothing : Object
½Æ»s¥N½X

§@ªÌ: stillfish00    ®É¶¡: 2013-12-6 10:22

¦^´_ 8# c_c_lai
§Úªº¯à¶] ¡Aµ²ªG¦p¤U
­±¿n 1 : 140­Ó
­±¿n 2 : 178­Ó
­±¿n 3 : 53­Ó
­±¿n 6 : 36­Ó
­±¿n 5 : 39­Ó
­±¿n 10 : 27­Ó
­±¿n 18 : 8­Ó
­±¿n 11 : 13­Ó
­±¿n 15 : 9­Ó
­±¿n 21 : 7­Ó
­±¿n 45 : 2­Ó
­±¿n 13 : 15­Ó
­±¿n 8 : 30­Ó
­±¿n 51 : 3­Ó
­±¿n 23 : 4­Ó
­±¿n 32 : 11­Ó
­±¿n 54 : 5­Ó
­±¿n 31 : 4­Ó
­±¿n 33 : 2­Ó
­±¿n 22 : 14­Ó
­±¿n 86 : 2­Ó
­±¿n 4 : 56­Ó
­±¿n 24 : 13­Ó
­±¿n 12 : 15­Ó
­±¿n 17 : 8­Ó
­±¿n 7 : 38­Ó
­±¿n 49 : 6­Ó
­±¿n 93 : 1­Ó
­±¿n 35 : 1­Ó
­±¿n 122 : 1­Ó
­±¿n 19 : 12­Ó
­±¿n 50 : 1­Ó
­±¿n 109 : 1­Ó
­±¿n 9 : 25­Ó
­±¿n 46 : 3­Ó
­±¿n 60 : 2­Ó
­±¿n 37 : 2­Ó
­±¿n 28 : 9­Ó
­±¿n 40 : 4­Ó
­±¿n 26 : 3­Ó
­±¿n 41 : 4­Ó
­±¿n 14 : 9­Ó
­±¿n 16 : 13­Ó
­±¿n 30 : 3­Ó
­±¿n 87 : 1­Ó
­±¿n 48 : 2­Ó
­±¿n 29 : 4­Ó
­±¿n 72 : 4­Ó
­±¿n 20 : 10­Ó
­±¿n 77 : 1­Ó
­±¿n 84 : 1­Ó
­±¿n 128 : 1­Ó
­±¿n 61 : 2­Ó
­±¿n 39 : 2­Ó
­±¿n 78 : 1­Ó
­±¿n 59 : 1­Ó
­±¿n 81 : 1­Ó
­±¿n 56 : 2­Ó
­±¿n 102 : 2­Ó
­±¿n 36 : 1­Ó
­±¿n 25 : 6­Ó
­±¿n 34 : 4­Ó
­±¿n 38 : 3­Ó
­±¿n 100 : 3­Ó
­±¿n 91 : 1­Ó
­±¿n 75 : 1­Ó
­±¿n 42 : 1­Ó
­±¿n 89 : 1­Ó
­±¿n 85 : 1­Ó
­±¿n 27 : 1­Ó
­±¿n 96 : 1­Ó
­±¿n 108 : 1­Ó
­±¿n 66 : 1­Ó
­±¿n 82 : 1­Ó
­±¿n 53 : 2­Ó
­±¿n 63 : 1­Ó
­±¿n 55 : 1­Ó
­±¿n 119 : 1­Ó
­±¿n 381 : 1­Ó
§@ªÌ: stillfish00    ®É¶¡: 2013-12-6 10:26

¦^´_ 9# c_c_lai
.Parent ¬O«ü¨ì «e­± With Sheets(1).[A1].CurrentRegion ªº parent ¤]´N¬O sheets(1)
ª½±µ¥Î Range(prev) ¡AÀ³¸Ó¬Û·í©óActiveSheet.Range(prev)¡A·Ó¹D²z¬O¨SÔ£¼vÅT¡C
§@ªÌ: ML089    ®É¶¡: 2013-12-6 12:30

¥»©«³Ì«á¥Ñ ML089 ©ó 2013-12-6 12:31 ½s¿è

¦^´_ 1# c_c_lai

½Ð°ÝÀɮ׮פ¤¦³¹Ï¤ù¡A¦p¦ó±N¹Ï¤ùªº¹Ï§ÎÂন 0, 255¼Æ¦r

ºâ0ªº­±¿n¡A§Úªì¨Bºâ§¹¦³381²Õ(¤]¤£ª¾¹D¹ï¤£¹ïÁÙ¨S¦³Åçºâ)¡A¨ä¤¤¦³«Ü¦h²Õ¬O 0¡A»Ý­n§â0²Õ¹LÂo±¼¶Ü?
¦³¼Ð·Çµª®×¥i¥Hµ¹§ÚÅçÃÒ¶ý?
§@ªÌ: Hsieh    ®É¶¡: 2013-12-6 15:05

¦^´_ 2# c_c_lai
¸ê®Æ¶qÃe¤j¡A¥B¦]¬°¦U­ÓÀx¦s®æ¥²¶·­n¥H»¼°j¤è¦¡´ú¬O³sÄò»P§_
¶]ªº¦³ÂI¤[
¥ÎÁY¤p¸ê®Æ¶q¥ý¦æ´ú¸ÕÀ³¸ÓÁÙOK¡A§A´ú¸Õ¬Ý¬Ý
[attach]16979[/attach]
§@ªÌ: c_c_lai    ®É¶¡: 2013-12-6 17:14

¦^´_ 12# ML089
¤£¦n·N«ä²{¦b¤~¦^¨Ó¡I
¨º±i¹Ï¤ù¥u¬O¼Ë±i¦Ó¤w¡A
§Ú­Ó¤H¥ç¦b±´¯Á¤¤¡A¨º¬O§Ú¥t¤@¤Í¤Hªº´£°Ý¡A
¤]¦h»X¦U¦ì¹©¤O¨ó§U¡A§Æ±æ¯à±q¤¤§ä¥XÀYºü¡C
§@ªÌ: c_c_lai    ®É¶¡: 2013-12-6 17:17

¦^´_ 13# Hsieh
ÁÂÁ±z¡I
«Ý´ú¥Xµ²ªG«á¦A¦æ¦V±z³ø§i¡C
§@ªÌ: ML089    ®É¶¡: 2013-12-6 18:25

¦^´_ 14# c_c_lai

½Ð°Ý³s¦b¤@°_±o­ì«h¬O¤°»ò¡A½Ð¬Ý¹Ï¤¤»¡©ú

[attach]16982[/attach]
§@ªÌ: c_c_lai    ®É¶¡: 2013-12-6 20:51

¦^´_ 13# Hsieh
¦^´_ 16# ML089
¦^´_ 11# stillfish00
ÁÂÁ¤j®a¡A²×©ó´ú¸Õ¥Xµ²ªG¤F¡AÁöµM³t«×¤WµyµyºC¤FÂI¡G
[attach]16983[/attach]
[attach]16984[/attach]
§@ªÌ: c_c_lai    ®É¶¡: 2013-12-6 20:56

¦^´_ 13# Hsieh
¦^´_ 16# ML089
¦^´_ 11# stillfish00
[attach]16985[/attach]
·PÁ¦U¦ìªºÀ°¦£¡A¦pÁÙ¦³§ó¨Î®Ä¯qªº¸Ñ¨M¤è®×¡A
·q½Ð¤£§[«ü±Ð¡I
§@ªÌ: c_c_lai    ®É¶¡: 2013-12-7 08:04

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2013-12-7 08:05 ½s¿è

¦^´_ 16# ML089
¥H±`²z¨Ó½×¡A 10 »P 25 À³µL©¼¦¹¶¡¤§¦êÁp¡AÀ³Äݤ£¦P¤§°Ï¶ô¤~¬O¡A
§A¦b¹ê§@¤W¬O¦p¦ó¸ÑªRªº¡H
§@ªÌ: c_c_lai    ®É¶¡: 2013-12-7 08:19

¦^´_ 16# ML089
Hsieh ª©¤j¥L¬OÀ³¥Î "»¼°j" ªº³B²z§Þ¥©¡A¨Ó¨D¥X¦UÂkÄݰ϶ôªº½d³ò¡A
³oºØÂI¤Î©ó­±ªº¹B¥Î¬O­ÓÆZ¤£¿ùªº Idea¡A§A¬Ý¬Ýµ{¦¡½X²Ó²Ó¦a¥h±ÀºV¡A
¬OÆZ­È±o¦^¨ýªº¡A ¦bùØÀY§Ú¥[¤W¤F sRng ªº¦ì§}¬ö¿ý³B²z¡A¨Ã¦P®É¨D¨ú
¨C­Ó°Ï¶ôªº¹ê»Ú¦ì§}¼Æ¡A¥H´£¨Ñ°Ñ¦Ò¤§¥Î¡G
  1. Option Explicit

  2. Public s As Long
  3. Public sRng As Variant

  4. Sub ex()
  5.     Dim dic As Object
  6.     Dim A As Range, Rng As Range, sPos As Range
  7.    
  8.     Set dic = CreateObject("Scripting.Dictionary")
  9.     dic("³sÄò¼Æ¶q") = "¼Æ¶q"
  10.     '   ¼W¦C³¡¤À
  11.     ¤u§@ªí2.[C1] = "³sÄò¦ì§}"
  12.     ¤u§@ªí2.[D1] = "²Õ¦X¼Æ¶q"
  13.    
  14.     With ¤u§@ªí1
  15.         Set Rng = .Range("A1").CurrentRegion
  16.         Rng.Replace 0, Empty, xlWhole
  17.         
  18.         Set sPos = ¤u§@ªí2.[C2]
  19.         Set A = Rng.Find(Empty)
  20.         
  21.         Do Until A Is Nothing
  22.             A = 0: s = 1
  23.             Cnt A
  24.             dic(s) = dic(s) + 1
  25.             
  26.             sPos = sRng
  27.             sPos.Offset(0, 1) = Range(sRng).Count
  28.             
  29.             Set A = Rng.Find(Empty)
  30.             
  31.             Set sPos = sPos.Offset(1)
  32.         Loop
  33.     End With
  34.    
  35.     With ¤u§@ªí2
  36.         .[A1].Resize(dic.Count, 1) = Application.Transpose(dic.keys)
  37.         .[B1].Resize(dic.Count, 1) = Application.Transpose(dic.items)
  38.         .[A1].Resize(dic.Count, 2).Sort key1:=.[A1], Header:=xlYes
  39.     End With
  40.    
  41.     '  MsgBox dic.Count - 1
  42.     Set dic = Nothing
  43. End Sub

  44. Function Cnt(Rng As Range)
  45.     Dim A As Range, Temp As Range
  46.     Dim i As Integer
  47.         
  48.     For Each A In Rng
  49.         For i = -1 To 1 Step 2
  50.             If A.Row + i > 0 And A.Row + i < ¤u§@ªí1.Range("A1").CurrentRegion.Rows.Count Then
  51.                 If IsEmpty(A.Offset(i, 0)) Then Set Temp = Union(Rng, A.Offset(i, 0))   '  "$BF$4:$BF$5"
  52.             End If
  53.         Next
  54.         For i = -1 To 1 Step 2
  55.             If A.Column + i > 0 And A.Column + i < ¤u§@ªí1.Range("A1").CurrentRegion.Columns.Count Then
  56.                 If IsEmpty(A.Offset(, i)) Then Set Temp = Union(Rng, A.Offset(, i))   '  "$BF$4:$BG$4"
  57.             End If
  58.         Next
  59.     Next

  60.     If Not Temp Is Nothing Then      '  True
  61.         Temp = 0
  62.         s = Temp.Count
  63.         sRng = Temp.Address
  64.         Cnt Temp
  65.     End If
  66. End Function
½Æ»s¥N½X

§@ªÌ: c_c_lai    ®É¶¡: 2013-12-7 08:40

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2013-12-7 08:42 ½s¿è

¦^´_ 20# c_c_lai
20# ªº Ex() ¤º¤§ C¡BD Äæ¤@¦æ¤@¦æ¦a¥h»¼¼W¬O¬°¤F­n
Æ[¹î¸ê®Æ³B²z¤Î¹Lµ{¡C¥H¤U¬°§ï¥H "¦r¨å" ³B¸Ì¡G
  1. Sub ex2()
  2.     Dim dic As Object, dic2 As Object
  3.     Dim A As Range, Rng As Range
  4.    
  5.     Set dic = CreateObject("Scripting.Dictionary")
  6.     Set dic2 = CreateObject("Scripting.Dictionary")
  7.     dic("³sÄò¼Æ¶q") = "¼Æ¶q"
  8.     dic2("³sÄò¦ì§}") = "²Õ¦X¼Æ¶q"
  9.    
  10.     With ¤u§@ªí1
  11.         Set Rng = .Range("A1").CurrentRegion
  12.         Rng.Replace 0, Empty, xlWhole
  13.         
  14.         Set A = Rng.Find(Empty)
  15.         
  16.         Do Until A Is Nothing
  17.             A = 0: s = 1
  18.             Cnt A
  19.             dic(s) = dic(s) + 1
  20.             dic2(sRng) = Range(sRng).Count
  21.             
  22.             Set A = Rng.Find(Empty)
  23.         Loop
  24.     End With
  25.    
  26.     With ¤u§@ªí2
  27.         .[A1].Resize(dic.Count, 1) = Application.Transpose(dic.keys)
  28.         .[B1].Resize(dic.Count, 1) = Application.Transpose(dic.items)
  29.         .[A1].Resize(dic.Count, 2).Sort key1:=.[A1], Header:=xlYes
  30.         .[C1].Resize(dic2.Count, 1) = Application.Transpose(dic2.keys)
  31.         .[D1].Resize(dic2.Count, 1) = Application.Transpose(dic2.items)
  32.    End With
  33.    
  34.     '  MsgBox dic.Count - 1
  35.     Set dic = Nothing
  36.     Set dic2 = Nothing
  37. End Sub
½Æ»s¥N½X
·PÁ Hsieh ª©¤jªº«ü¾É¡I
§@ªÌ: ML089    ®É¶¡: 2013-12-7 13:32

¦^´_ 19# c_c_lai
¦^´_ 13# Hsieh
¦^´_ 4# stillfish00

§Ú°µ3­Ó¼Ð·Ç¹Ï«¬¤Î²Î­p¼Æ¶q¥H¨Ñ¤j®a´ú¸Õ¥Î
§Úªºµ{¦¡¤]±Ä¥Î»¼°j©I¥s¤è¦¡³B²z¡A­ì¹Ï§Î°õ¦æ®É¶¡¤j·§2~3¬í´N¯à§¹¦¨¡C
³oµ{¦¡¼g±o«ÜºC«Ü¤[¡A¨C­Ó«ü¥O³£¬O±qºô¸ô¤W©Î°Ñ¦Ò¤j®aªºµ{¦¡ºCºC°ï¥X¨Óªº¡A¤@¦@ªá¤F7~8¤p®É¤~§¹¦¨¡A¤]º¡¦³¦¨´N·P¡A½Ð¦³»yªk«Ý§ï¶i¤§³B½Ð¤j®a¦h¦h«ü±Ð¡C
¤U¤è¬°´ú¸ÕÀÉ®×
[attach]16993[/attach]
   
[attach]16994[/attach]
§@ªÌ: ML089    ®É¶¡: 2013-12-7 13:37

¦^´_ 22# ML089
Timer¨Ï¥Îªº©Ç©Çªº¡A¦³®ÉÀþ¶¡°õ¦æ§¹¦¨«oÅã¥Ü9.X¬í¡ATimer¤ÎTimeE­pºâ¥X¨Ó¤]®t«Ü¦h(1.5¬í¤Î1.0¬í)¡A´X¥G®t1.5­¿¡A¤j®a¥i¥HÀ°§Ú¬Ý¬Ý¶Ü?
§@ªÌ: ML089    ®É¶¡: 2013-12-7 13:55

¦^´_ 22# ML089

³o¬ODEBUD¹ï¸Ü®Ø¿é¤J1®É¡A¥i¥H²£¥Í°}¦C³B²z«áªº¸ê®Æ¥H¨Ñ¬d®Ö

    [attach]16995[/attach]
§@ªÌ: c_c_lai    ®É¶¡: 2013-12-7 15:19

¦^´_ 23# ML089
½Ð±Ð¡G
  1.     '  ¡õ ­pºâ¨C²Õ­Ó¼Æ¡C ª`·N! Frequency ¦^¶Ç i + 1 ²Õ¡A©Ò¥ý±N i - 1
  2.     Bins_array = Application.Evaluate("Row(1:" & i - 1 & ")")
  3.     ArrN = Application.Frequency(Arr, Bins_array)
  4.     MaxN = Application.Max(ArrN)

  5.     '  ¡õ ²Î­p¨C²Õ­Ó¼Æ¡C ª`·N! Frequency ¦^¶Ç i + 1 ²Õ¡A©Ò¥ý±N MaxN - 1
  6.     Bins_array = Application.Evaluate("Row(1:" & MaxN - 1 & ")")
  7.     ArrF = Application.Frequency(ArrN, Bins_array)
½Æ»s¥N½X
Bins_array¡BArrN ¡BMaxN ¡BArrF  ªº¤º²[¤Î§@¥Î¡A¯à§_¥[¥H¸ÑªR¡A
§Ú¹ï¤@¨Ç¥Î»y¤£«Ü±E±x¡A¥B¤ÏÀ³¸û¿ð¶w¡AÁÂÁÂÅo¡I
§@ªÌ: stillfish00    ®É¶¡: 2013-12-7 16:00

¥»©«³Ì«á¥Ñ stillfish00 ©ó 2013-12-7 16:05 ½s¿è

¦^´_ 22# ML089
Nice Job¡A´£¨ú¨ìArray¥[³t«Ü¦h¡A
§Ú¤]µo²{§Úªº¤èªkÅÞ¿è¤W¦³°ÝÃD¡A
¥t¥~¡ATime­ì¥»´N¥u¦³¨ì¬í¦Ó¤w¡A®É¶¡¶Ã¸õ¬O¦]¬°§A§â inputbox ªº®É¶¡¤]ºâ¤F¡C
§@ªÌ: ML089    ®É¶¡: 2013-12-7 16:40

¦^´_ 26# stillfish00
«¢«¢¡A¤º¦æ¤H¤@¬Ý´N§ä¥X°ÝÃD¡A§Ú³ºµM©Çtimer¨ç¼Æ©Ç©Çªº¡A·PÁÂ
§@ªÌ: c_c_lai    ®É¶¡: 2013-12-7 17:21

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2013-12-7 17:22 ½s¿è

¦^´_ 26# stillfish00
¦^´_ 27# ML089
ªº½T¡I
´£¨ú¨ìArray½T¹ê¥[³t«Ü¦h¡A¦P®É¤]¸Ñ¨M¤F¿ð½wªº§xÂZ¡C
ÁÂÁ§Aµ¥ªº«ü±Ð¡I
§@ªÌ: ML089    ®É¶¡: 2013-12-7 17:37

¦^´_ 25# c_c_lai

Frequency ¥i¥H«öF1¬Ý¬Ý»¡©ú¡C(¥H«e§Ú¤@¶}©l¬Ý¤]¤£À´¡A³o¬O¥¿±`ªº¡A¦h°µÃD¥Ø¤~¯àºCºC¤F¸Ñ)

¥ÎÁ|¨Ò»¡©ú
¨Ò¤@:¦³¤@¸s¼Æ¦r {1,2,3,4,5,6,7,8,9}¡A­n¨D3­Ó½d³ò¦U¦³¦h¤Ö¼Æ¦r 1~2¡B3~7¡B8~9¡A¤½¦¡¦p¤U
=FREQUENCY({1,2,3,4,5,6,7,8,9},{2,7,9}) = {2;4;2;0}¡A³Ì«á0¬O«ü¤j©ó9¤§¼Æ


¥ÎÁ|¨Ò»¡©ú
¨Ò¤G:¨Ò¦p¥H#22µ{¦¡¤¤¤U­±³¡¤Àµ{¦¡¨Ó»¡©ú
   '  ¡õ ­pºâ¨C²Õ­Ó¼Æ¡C ª`·N! Frequency ¦^¶Ç i + 1 ²Õ¡A©Ò¥ý±N i - 1
    Bins_array = Application.Evaluate("Row(1:" & i - 1 & ")")
    ArrN = Application.Frequency(Arr, Bins_array)
    MaxN = Application.Max(ArrN)

    '  ¡õ ²Î­p¨C²Õ­Ó¼Æ¡C ª`·N! Frequency ¦^¶Ç i + 1 ²Õ¡A©Ò¥ý±N MaxN - 1
    Bins_array = Application.Evaluate("Row(1:" & MaxN - 1 & ")")
    ArrF = Application.Frequency(ArrN, Bins_array)

»¡©ú
   '  ¡õ ­pºâ¨C²Õ­Ó¼Æ¡C
1. ±N¨C²Õ³sÄò0¶i¦æ§Ç¸¹½s½X©ñ¦b°}¦C¤¤¡A°}¦C¸ê®Æ¨Ò¦p¤U
   Arr={1,1,.."X" ,2,.."X" ,3,3,.."X" ,4,4,.."X" ,5,5,5,.."X" ,6,.."X" ,7,.."X" ,8,8,.."X" ,9,9,9,.."X"}
2. §Ú·Q¨D 1¦³´X­Ó¡A2¦³´X­Ó....9¦³´X­Ó¡A¥i¥H¥Î¤U¦C¤½¦¡
   ArrN = FREQUENCY(Arr,{1,2,3,4,5,6,7,8}) = {2;1;2;2;3;1;1;2;3}
   ¦^¶Ç­Èªí¥Ü¬° 1¦³3­Ó¡B2¦³1­Ó¡B3¦³2­Ó¡B4¦³2­Ó¡B5¦³3­Ó¡B6¦³1­Ó¡B7¦³1­Ó¡B8¦³2­Ó¡B9¦³3­Ó
3. MaxN = Max({2;1;2;2;3;1;1;2;3}) = 3¡A©Ò¦³²Õ¼Æ¤¤³Ì¤j­Ó¼Æ¬° 3 («á­±­pºâ­n¥Î)
       

    '  ¡õ ²Î­p¨C²Õ­Ó¼Æ¡C
4. ¤W­±¤w¸g­pºâ¥X¨C²Õªº­Ó¼Æ°}¦C ArrN ¤Î³Ì¤j­Ó¼Æ MaxN¡A­n²Î­p¦U­Ó¼Æ¦³´X²Õ¡A¤½¦¡¦p¤U
   ArrF = FREQUENCY(ArrN,{1,2,...,MaxN-1}) = {{2;1;2;2;3;1;1;2;3},{1,2}) = {3;4;2}       
   ¦^¶Ç­Èªí¥Ü¬° 1­Ó¦³3²Õ¡B2­Ó¦³4²Õ¡B3­Ó¦³2²Õ

5. ¤½¦¡¤¤ Bins_array = Application.Evaluate("Row(1:" & i - 1 & ")") ´N¬O­n²£¥Í {1,2,...i-1} §Ç¸¹


6. ¨ä¥L»¡©ú´N­n¾a GOOGLE ¨Ó¬d¸ß¡A¦h¬Ý´X­Óºô­¶»¡©ú´N¯à©ú¥Õ¡A§Ú¤]¬O¤@Ãä¬d¤@ÃäTRY¤~¦¨¥\ªº¡C

­è±µÄ²VBA¥\¤O©|²L¡A»¡©ú¤£²M¤§³B©|¥B¨£½Ì¡C
§@ªÌ: ML089    ®É¶¡: 2013-12-7 17:46

¦^´_ 28# c_c_lai

­×¥¿­p®É¤è¦¡¿ù»~¡A±N INPUTBOX() ²¾¦Ü³Ì«e­±¡A«z! 1¬í¦h´N¯à§¹¦¨¡C
[attach]16998[/attach]
§@ªÌ: c_c_lai    ®É¶¡: 2013-12-7 17:53

¦^´_ 29# ML089
ÁÂÁ§A¸ÔºÉªº»¡©ú¡A­è¤~§Ú¤w¥þ³¡¨Ï¥Î Debug ¶]¤F¤@°é¡A
¤£©úÁA³B¥ç¤w¥ÑDebug¤¤±o¨ìµª®×¡A¦¹µ{¦¡À³¥Î°}¦C³B²z
¥ç±Æ°£¤F­ì¥ý°õ¦æ³t«×¿ð½wªº§xÂZ¡AÁÂÁ§AªºÀ°¦£¡I
§@ªÌ: ML089    ®É¶¡: 2013-12-7 20:07

¦^´_ 31# c_c_lai

¬Q¤Ñ¬O¥ÎÀx¦s®æ¤è¦¡³B²z¡A¤j­P»Ý­n3¤ÀÄÁ¡A¦­¤W§ï¬°°}¦C³B²z¬ù»Ý­n10¬íÄÁ¡A¦A¶i¦æÀu¤Æ¥i¹F2¡ã3¬íÄÁ
¥i¨£Àx¦s®æ»P°}¦C³B²z³t«×¬Û®t20­¿¥H¤W
§@ªÌ: c_c_lai    ®É¶¡: 2013-12-7 20:41

¦^´_ 32# ML089
¸Õ¸Õ¸g­×§ï«á¤§µ{¦¡¡G
[attach]17000[/attach]
[attach]17001[/attach]
§@ªÌ: c_c_lai    ®É¶¡: 2013-12-7 20:45

¦^´_ 32# ML089
§ó¥¿¹Ï¤ù¡A¤WÀYªº¬O¦b Debug Mode¡A ©Ò¥H®É¶¡¸ûªø¡A
§ó¥¿«á¤§¹Ï¤ù¬°½T¹ê°õ¦æ¬í¼Æ¡C
[attach]17002[/attach]
§@ªÌ: c_c_lai    ®É¶¡: 2013-12-7 20:50

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2013-12-7 20:51 ½s¿è

¦^´_ 32# ML089
¼W­×«á¤§µ{¦¡½X¦p¤U¡G
  1. Option Explicit

  2. '  ML089 ¼g©ó 2013/12/7
  3. '  http://forum.twbts.com/viewthread.php?tid=10927&extra=&page=3
  4. Sub ³sÄò0­Ó¼Æ¤§²Î­p()
  5.     Dim dic As Object
  6.     Dim t1 As Date, tt1 As Date, t2 As Date, tt2 As Date
  7.     Dim Arr As Variant, xDebug As String, sRng As Range, WriteToRange As Range
  8.     Dim i As Integer, c As Long, r As Long, y As Integer, rN As Long, cN As Long
  9.     Dim Bins_array As Variant, ArrF As Variant, ArrN As Variant, MaxN As Double
  10.    
  11.     Application.Calculation = xlManual    '  Ãö³¬­pºâ
  12.     Application.ScreenUpdating = False    '  Ãö³¬Åã¥Ü

  13.     xDebug = InputBox("°}¦C­pºâ¸ê®Æ¼g¥X¡C¶ñ¤J 1 / 0 ±±¨î :", "DeBug", 0) '  ¡·°}¦C­pºâ¸ê®Æ¼g¥X¡C¶ñ¤J 1¡BTure / 0¡BFlase ±±¨î
  14.     If xDebug Then ActiveSheet.Copy after:=ActiveSheet    '  Test Use 1

  15.     t1 = Timer: tt1 = Time    '  ¬í¼Æ­p®É¾¹
  16.     Set dic = CreateObject("Scripting.Dictionary")
  17.     dic("³sÄò¦ì§}") = "²Õ¦X¼Æ¶q"

  18.     '  ¡õ §ä 0¡A±N¨C²Õ³sÄò 0 ½s¤£¦P§Ç¸¹
  19.     '  Arr : Variant/Variant(1 to 20, 1 to 26)
  20.     Arr = ActiveSheet.[A1].CurrentRegion    '  Åª¤J°}¦C
  21.    
  22.     i = 0
  23.     rN = UBound(Arr, 1)     '  Y  Rows     20
  24.     cN = UBound(Arr, 2)     '  X  Columns  26
  25.    
  26.     For c = 1 To cN
  27.         For r = 1 To rN     '  ¦¹°j°é±N°}¦C«D0­È§ï¬°¤å¦r«¬ºA
  28.             If Arr(r, c) <> 0 Then Arr(r, c) = "X" '  Empty ·|³Qµø¬° 0¡A"" ¤£·|
  29.         Next
  30.     Next
  31.     For c = 1 To cN
  32.         For r = 1 To rN    '  ¦¹°j°é§ä 0
  33.             If Arr(r, c) = 0 Then
  34.                 i = i + 1
  35.                 Set sRng = Sheets("TEST2").Cells(r, c)
  36.                 Call xRep(Arr, r, c, i, sRng)
  37.                 dic(sRng.Address) = Range(sRng.Address).Count
  38.             End If
  39.         Next
  40.     Next

  41.     If xDebug Then [A1].Resize(rN, cN) = Arr    '  Test Use 2    ' i = 11

  42.     '  ¡õ ­pºâ¨C²Õ­Ó¼Æ¡C ª`·N! Frequency ¦^¶Ç i + 1 ²Õ¡A©Ò¥ý±N i - 1
  43.     Bins_array = Application.Evaluate("Row(1:" & i - 1 & ")")   ' i = 11
  44.     '  ­pºâ¬Y¤@­Ó½d³ò¤ºªº­È¥X²{ªº¦¸¼Æ¡A¨Ã¶Ç¦^¤@­Ó««ª½¼Æ­È°}¦C¡C
  45.     '  ¨Ò¦p¡A¥Î FREQUENCY ¨Ó­pºâ¬Y¨Ç½d³ò¤ºªº¦Ò¸Õ¦¨ÁZ¦U¦³´X­Ó¤H¡C
  46.     '  ¥Ñ©ó FREQUENCY ¶Ç¦^°}¦C¡A¦]¦¹¥²¶·¿é¤J¬°°}¦C¤½¦¡¡C
  47.     ArrN = Application.Frequency(Arr, Bins_array)
  48.     MaxN = Application.Max(ArrN)   '  MaxN : 62 : Variant/Double  (¥H¤W²Î­p¼Æªº³Ì¤j­È)

  49.     '  ¡õ ²Î­p¨C²Õ­Ó¼Æ¡C ª`·N! Frequency ¦^¶Ç i + 1 ²Õ¡A©Ò¥ý±N MaxN - 1
  50.     Bins_array = Application.Evaluate("Row(1:" & MaxN - 1 & ")")
  51.     ArrF = Application.Frequency(ArrN, Bins_array)

  52.     '  ¡õ ¼g¥X¸ê®Æ
  53.     Set WriteToRange = ActiveSheet.Cells(rN + 3, 1)
  54.     WriteToRange.CurrentRegion.ClearContents
  55.     Application.Goto Reference:=WriteToRange, scroll:=True   ' ±Nµe­±¤Á´«¦Ü WriteToRange¡C
  56.     With WriteToRange
  57.         .Resize([A:A].Rows.Count - rN - 3, 2) = ""
  58.         .Resize(1, 2) = Application.Evaluate("{""³sÄò¼Æ"", "";²Õ¼Æ""}")
  59.         y = 0
  60.         For i = 1 To MaxN
  61.             If ArrF(i, 1) <> 0 Then
  62.                 y = y + 1
  63.                 .Offset(y, 0) = i
  64.                 .Offset(y, 1) = ArrF(i, 1)
  65.             End If
  66.         Next
  67.         .Offset(0, 2).Resize(dic.Count, 1) = Application.Transpose(dic.keys)
  68.         .Offset(0, 3).Resize(dic.Count, 1) = Application.Transpose(dic.items)
  69.          
  70.         t2 = Timer: .Offset(y + 1, 1) = Format(t2 - t1, "0.00") & " ¬í"
  71.         tt2 = Time: .Offset(y + 2, 1) = Format((tt2 - tt1) * 24 * 60 * 60, "0.00") & " ¬í"
  72.     End With
  73.     Set Arr = Nothing       '  ÄÀ©ñ°O¾ÐÅé
  74.     Set dic = Nothing
  75.    
  76.     Application.ScreenUpdating = True
  77.     Application.Calculation = xlCalculationAutomatic
  78. End Sub

  79. '  »¼°j©I¥s( recursive call )¬d¸ß¡A±N³sÄò0¼g¤J¦P¤@½s¸¹
  80. Sub xRep(ByRef Arr, r, c, i, ByRef rng As Range)
  81.     Dim Temp As Range
  82.    
  83.     Arr(r, c) = i    '  ¼g¤J½s¸¹
  84.     Cells(r, c).Interior.ColorIndex = 6    '  Test Use 3
  85.     Set Temp = Union(rng, Sheets("TEST2").Cells(r, c))
  86.     On Error Resume Next    '  ÁקKÃä¬É¿ù»~
  87.     If Arr(r - 1, c) = 0 Then Call xRep(Arr, r - 1, c, i, Temp)    '  §ä¤W
  88.     If Arr(r + 1, c) = 0 Then Call xRep(Arr, r + 1, c, i, Temp)    '  §ä¤U
  89.     If Arr(r, c - 1) = 0 Then Call xRep(Arr, r, c - 1, i, Temp)    '  §ä¥ª
  90.     If Arr(r, c + 1) = 0 Then Call xRep(Arr, r, c + 1, i, Temp)    '  §ä¥k
  91.     Set rng = Temp
  92. End Sub
½Æ»s¥N½X





Åwªï¥úÁ{ ³Â»¶®a±Ú°Q½×ª©ª© (http://forum.twbts.com/)