[µo°Ý]±N¨â°}¦C¨Ì¶¶§Ç¦X¨Ö°ÝÃD
- ©«¤l
- 4901
- ¥DÃD
- 44
- ºëµØ
- 24
- ¿n¤À
- 4916
- ÂI¦W
- 62
- §@·~¨t²Î
- Windows 7
- ³nÅ骩¥»
- Office 20xx
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥x¥_
- µù¥U®É¶¡
- 2010-4-30
- ³Ì«áµn¿ý
- 2025-3-13
               
|
¦^´_ 1# asus103
¦³¨Ç¼Æȸò§AA¡BB°}¦C¨ú±o¤è¦¡¦³Ãö
¥HÀx¦s®æ½d³ò¬°°}¦C¬°¨Ò- Sub nn()
- Dim Ar(), Ay(), C(), A, B
- A = [B1:D2]: B = [F1:I2]
- For i = LBound(A, 1) To UBound(A, 1)
- For j = LBound(A, 2) To UBound(A, 2)
- ReDim Preserve Ar(s)
- Ar(s) = A(i, j) '¨ú±oA°}¦C
- s = s + 1
- Next
- For j = LBound(B, 2) To UBound(B, 2)
- ReDim Preserve Ar(s)
- Ar(s) = B(i, j) '¨ú±oB°}¦C
- s = s + 1
- Next
- ReDim Ay(s)
- For j = 0 To UBound(Ar)
- Ay(j) = Application.Small(Ar, j + 1) '±Æ§Ç
- Next
- ReDim Preserve C(k)
- C(k) = Ay: s = 0: Erase Ay '¥[¤J¸ê®Æ¨ìC°}¦C¡A§â¼È¦s°}¦C²M°£
- k = k + 1
- Next
- [K1].Resize(k, UBound(A, 2) + UBound(B, 2)) = Application.Transpose(Application.Transpose(C))
- End Sub
½Æ»s¥N½X |
|
¾Ç®üµL²P_¤£®¢¤U°Ý
|
|
|
|
|
- ©«¤l
- 4901
- ¥DÃD
- 44
- ºëµØ
- 24
- ¿n¤À
- 4916
- ÂI¦W
- 62
- §@·~¨t²Î
- Windows 7
- ³nÅ骩¥»
- Office 20xx
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥x¥_
- µù¥U®É¶¡
- 2010-4-30
- ³Ì«áµn¿ý
- 2025-3-13
               
|
¥»©«³Ì«á¥Ñ Hsieh ©ó 2011-1-13 22:28 ½s¿è
¦^´_ 5# asus103 - Sub ex()
- Dim C()
- Open "test.txt" For Output As #1 '²£¥Í¼È¦sÀÉ
- A = [B1:D2]: B = [F1:I2]
- For i = LBound(A, 2) To UBound(A, 2)
- Print #1, A(1, i) & "," & A(2, i)
- Next
- For i = LBound(B, 2) To UBound(B, 2)
- Print #1, B(1, i) & "," & B(2, i)
- Next
- Close #1
- Shell "sort / " & "test.txt" & " /o " & "temp.txt" '²£¥Í±Æ§Ç¼È¦sÀÉ
- '°»´úª½¨ìÀɮײ£¥Í,¦AÄ~Äò«á±ªº°Ê§@
- While Dir("temp.txt") = ""
- Wend
- Open "temp.txt" For Input As #1
- Do Until EOF(1)
- Line Input #1, mystr
- ReDim Preserve C(s)
- C(s) = Split(mystr, ",")
- s = s + 1
- Loop
- Close #1
- Kill "test.txt" '§R°£¼È¦sÀÉ
- Kill "temp.txt" '§R°£±Æ§Ç¼È¦sÀÉ
- [B12].Resize(2, s) = Application.Transpose(C)
- End Sub
½Æ»s¥N½X sort«ü¥O¬OWindows쥻´N¦³ªºDOS«ü¥O¡A¥Î©ó±Æ§Ç¯Â¤å¦rÀÉ¡C
¥H¤Wµ{¦¡³q¹LWindows7+Excel2010´ú¸Õ¡F
Y¦b§Aªº¹q¸£°õ¦æ¦³»~¡A½Ð½T»{§Aªº¹q¸£¸Ì¦³ sort.exe ³oÓ°õ¦æÀÉ¡C |
|
¾Ç®üµL²P_¤£®¢¤U°Ý
|
|
|
|
|
- ©«¤l
- 4901
- ¥DÃD
- 44
- ºëµØ
- 24
- ¿n¤À
- 4916
- ÂI¦W
- 62
- §@·~¨t²Î
- Windows 7
- ³nÅ骩¥»
- Office 20xx
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥x¥_
- µù¥U®É¶¡
- 2010-4-30
- ³Ì«áµn¿ý
- 2025-3-13
               
|
¥»©«³Ì«á¥Ñ Hsieh ©ó 2011-1-15 11:58 ½s¿è
¦^´_ 13# FAlonso
Y¦Ò¼{¯Á¤ÞÈ·|«½Æªº±¡§Î(²Ä¤@¦C¬Û¦P¡A¦ý²Ä¤G¦C¹ïÀ³È¤£¦P)
¦p¹Ïªº¸ê®Æ
±z·|¦p¦ó¸Ñ¨M?
Array_Sort.zip (10.21 KB)
- Sub Dic_Sort()
- Dim C()
- Set d = CreateObject("Scripting.Dictionary")
- Set d1 = CreateObject("Scripting.Dictionary")
- A = Sheets(1).[A1:J2]: B = Sheets(2).[A1:J2]
- For Each y In Array(A, B)
- For i = LBound(y, 2) To UBound(y, 2)
- d(y(1, i) + d1(y(1, i)) * 0.1) = Array(y(1, i), y(2, i))
- d1(y(1, i)) = d1(y(1, i)) + 1
- Next
- Next
- Do Until d.Count = 0
- ky = Application.Small(d.keys, 1)
- ReDim Preserve C(s)
- C(s) = d(ky)
- s = s + 1
- d.Remove ky
- Loop
- Sheets(3).[A1].Resize(2, s) = Application.Transpose(C)
- Set d = Nothing
- Set d1 = Nothing
- End Sub
½Æ»s¥N½X |
|
¾Ç®üµL²P_¤£®¢¤U°Ý
|
|
|
|
|
- ©«¤l
- 4901
- ¥DÃD
- 44
- ºëµØ
- 24
- ¿n¤À
- 4916
- ÂI¦W
- 62
- §@·~¨t²Î
- Windows 7
- ³nÅ骩¥»
- Office 20xx
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥x¥_
- µù¥U®É¶¡
- 2010-4-30
- ³Ì«áµn¿ý
- 2025-3-13
               
|
¥»©«³Ì«á¥Ñ Hsieh ©ó 2011-1-15 18:23 ½s¿è
¦^´_ 17# FAlonso
§@ªk«ä¦ÒÅÞ¿è¤@¼Ë¡A±Æ§Ç¬O¥ÎSMALL¨ç¼Æ¡A¥i±NKEY¤@¤@²¾°£¡A¨ú³Ì¤pÈ¡A©Ò¥HY¥ÎMIN¤]¬O¦P¼Ë®ÄªG- Sub Dic_Sort()
- Dim C()
- Set d = CreateObject("Scripting.Dictionary") '
- Set d1 = CreateObject("Scripting.Dictionary") '¦P¯Á¤Þ¶µ¥Ø¼Æ¶qp¼Æ¾¹
- A = Sheets(1).[A1:J2]: B = Sheets(2).[A1:J2] '¼g¤JA¡BB°}¦C¤º®e
- For Each y In Array(A, B) '¥H°j°é¶¶§ÇŪ¤JA¡BB°}¦C¨ì¦r¨åª«¥ó
- For i = LBound(y, 2) To UBound(y, 2)
- d(y(1, i) + d1(y(1, i)) * 0.1) = Array(y(1, i), y(2, i)) '¦]¬°¯Á¤Þȳ£¬O¾ã¼Æ¡A©Ò¥H¯Á¤ÞÈ¥[p¼Æªº0.1¿·í¦¨·s¯Á¤ÞÈ¡AÁקK»P¨ä¥L¯Á¤ÞÈ«½Æ¡A¹ïÀ³2¦CªºÈ
- d1(y(1, i)) = d1(y(1, i)) + 1 '¦P¯Á¤ÞÈp¼Æ
- Next
- Next
- Do Until d.Count = 0 '¶i¦æ°j°é¡Aª½¨ì¦r¨å¤º®e¼Æ¶q¬°0¸õ¥X°j°é
- ky = Application.Small(d.keys, 1) '±o¨ì¯Á¤ÞÈ°}¦C¤¤³Ì¤pÈ
- 'ky = Application.Min(d.keys) '±o¨ì¯Á¤ÞÈ°}¦C¤¤³Ì¤pÈ¡A¥ç¥i¨Ï¥ÎMIN¨ç¼Æ
- ReDim Preserve C(s)
- C(s) = d(ky) '±N³Ì¤pȪº¤º®e¦s¤J°}¦C
- s = s + 1
- d.Remove ky '²¾°£¦r¨å¤¤³Ì¤pȪº¶µ¥Ø¡A¦¹®É¦r¨å¤º®e¼Æ¶q·|´î¤Ö1Ó
- Loop
- Sheets(3).[A1].Resize(2, s) = Application.Transpose(C) '쥻C°}¦C¥iµø¬°s¦C2Äæ¡A©Ò¥HÂà¸m«á¦¨¬°2¦CsÄæ¡A¼g¤J¤u§@ªí
- Set d = Nothing 'ÄÀ©ñª«¥ó
- Set d1 = Nothing 'ÄÀ©ñª«¥ó
- End Sub
½Æ»s¥N½X |
|
¾Ç®üµL²P_¤£®¢¤U°Ý
|
|
|
|
|
- ©«¤l
- 4901
- ¥DÃD
- 44
- ºëµØ
- 24
- ¿n¤À
- 4916
- ÂI¦W
- 62
- §@·~¨t²Î
- Windows 7
- ³nÅ骩¥»
- Office 20xx
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥x¥_
- µù¥U®É¶¡
- 2010-4-30
- ³Ì«áµn¿ý
- 2025-3-13
               
|
¦^´_ 16# asus103 - Sub Dic_Sort()
- Dim C()
- Set d = CreateObject("Scripting.Dictionary") '
- Set d1 = CreateObject("Scripting.Dictionary") '¦P¯Á¤Þ¶µ¥Ø¼Æ¶qp¼Æ¾¹
- '(ª`·N)¤u§@ªí1¸ò¤u§@ªí2ªº¸ê®Æ¦C¼Æn¬Û¦P
- a = Sheets(1).Range("A1").CurrentRegion: B = Sheets(2).Range("A1").CurrentRegion '¼g¤JA¡BB°}¦C¤º®e
- For Each y In Array(a, B) '¥H°j°é¶¶§ÇŪ¤JA¡BB°}¦C¨ì¦r¨åª«¥ó
- For i = LBound(y, 2) To UBound(y, 2)
- d(y(1, i) + d1(y(1, i)) * 0.1) = Application.Transpose(Application.Index(y, , i)) '¦]¬°¯Á¤Þȳ£¬O¾ã¼Æ¡A©Ò¥H¯Á¤ÞÈ¥[p¼Æªº0.1¿·í¦¨·s¯Á¤ÞÈ¡AÁקK»P¨ä¥L¯Á¤ÞÈ«½Æ¡A¹ïÀ³2¦CªºÈ
- d1(y(1, i)) = d1(y(1, i)) + 1 '¦P¯Á¤ÞÈp¼Æ
- Next
- Next
- Do Until d.Count = 0 '¶i¦æ°j°é¡Aª½¨ì¦r¨å¤º®e¼Æ¶q¬°0¸õ¥X°j°é
- ky = Application.Small(d.keys, 1) '±o¨ì¯Á¤ÞÈ°}¦C¤¤³Ì¤pÈ
- 'ky = Application.Min(d.keys) '±o¨ì¯Á¤ÞÈ°}¦C¤¤³Ì¤pÈ¡A¥ç¥i¨Ï¥ÎMIN¨ç¼Æ
- ReDim Preserve C(s)
- C(s) = d(ky) '±N³Ì¤pȪº¤º®e¦s¤J°}¦C
- s = s + 1
- d.Remove ky '²¾°£¦r¨å¤¤³Ì¤pȪº¶µ¥Ø¡A¦¹®É¦r¨å¤º®e¼Æ¶q·|´î¤Ö1Ó
- Loop
- Sheets(3).[A1].Resize(UBound(a, 1), s) = Application.Transpose(C) '쥻C°}¦C¥iµø¬°s¦C(°}¦CAªº¦C¼Æ)Äæ¡A©Ò¥HÂà¸m«á¦¨¬°(°}¦CAªº¦C¼Æ)¦CsÄæ¡A¼g¤J¤u§@ªí
- Set d = Nothing 'ÄÀ©ñª«¥ó
- Set d1 = Nothing 'ÄÀ©ñª«¥ó
- End Sub
½Æ»s¥N½X
Array_Sort.zip (11.64 KB)
|
|
¾Ç®üµL²P_¤£®¢¤U°Ý
|
|
|
|
|