- ©«¤l
- 4901
- ¥DÃD
- 44
- ºëµØ
- 24
- ¿n¤À
- 4916
- ÂI¦W
- 101
- §@·~¨t²Î
- Windows 7
- ³nÅ骩¥»
- Office 20xx
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥x¥_
- µù¥U®É¶¡
- 2010-4-30
- ³Ì«áµn¿ý
- 2025-4-27
               
|
¦^´_ 5# yuch8663
¸Õ¸Õ¦Û¤v¿é¤J¤é´ÁÄæ¦ì»PÄæ¼Æ¥H²Å¦X¥ô·Nªí®æ¤ñ¹ï- Sub nn()
- Dim k%, s&, j&, n%, n1%, i%, Ay(), Ar()
- Set d = CreateObject("Scripting.Dictionary") '©Ò¦³¤é´Á®e¾¹
- Set d1 = CreateObject("Scripting.Dictionary") 'data1®e¾¹
- Set d2 = CreateObject("Scripting.Dictionary") 'data2®e¾¹
- n = InputBox("¿é¤J²Ä¤@Ó¤é´ÁÄæ¦ìÈ", , 2) '¿é¤J²Ä¤@Ó¤é´ÁÄæ¦ì
- n1 = InputBox("¿é¤J¤é´ÁÄæ¦ì®t", , 8) '¿é¤J2ªí®æ¤é´ÁÄæ¦ì¬Û®tÄæ¦ì¼Æ
- ReDim A(n1) '¨CÓdataªºÄæ¦ì¼Æ¶q
- ReDim C(n1 * 2) '2ªí®æÁ`Äæ¼Æ
- Ar = Range("A1").CurrentRegion.Offset(1).Value 'A2¶}©l¥H¤U©Ò¦³¸ê®Æ¶°¦X
- For k = n To UBound(Ar, 2) Step n1 * 2 '±q²Ä¤@Ó¤é´ÁÄæ¦ì¶}©l¡A¥HÄæ¦ì®t¬°¯Å¶Z°µÄæ¦ì¦^°é
- For i = 0 To n1 Step n1 '¦bdata1»Pdata2ªº¤é´ÁÄæ¦ì
- For j = 1 To UBound(Ar, 1) '¥H¦C§@°j°é
- d(Ar(j, k + i)) = "" '¬ö¿ý¤é´Á
- For x = 0 To n1 - 1
- A(x) = Ar(j, k + i - (n - x - 1)) '¼g¤J¼È¦s°}¦C
- Next
- If i = 0 Then d1(Ar(j, k + i)) = A '±N°}¦C¶Çµ¹¦r¨å
- If i = n1 Then d2(Ar(j, k + i)) = A '±N°}¦C¶Çµ¹¦r¨å
- Next
- Next
- For Each ky In d.keys
- If d1.exists(ky) = True And d2.exists(ky) = True Then '¦pªG2Ódata®e¾¹³£§ä¨ì¦¹¯Á¤Þ
- For i = 0 To n1 * 2 - 1
- If i < n1 Then C(i) = d1(ky)(i) Else C(i) = d2(ky)(i - n1) '¼g¤J¼È¦s°}¦C
- Next
- ReDim Preserve Ay(s) '±N¼È¦s°}¦C¶Çµ¹°ÊºA°}¦C
- Ay(s) = C
- s = s + 1
- End If
- Next
- Range(Cells(2, k - (n - 1)).Resize(, n1 * 2), Cells(Rows.Count, k - (n - 1)).Resize(, n1 * 2)) = "" '²M°£¸ê®Æ
- Cells(2, k - (n - 1)).Resize(s, n1 * 2) = Application.Transpose(Application.Transpose(Ay)) '¼g¤J¸ê®Æ
- s = 0: Erase Ay '²MªÅ°}¦C
- d.RemoveAll '²¾°£¦r¨å¤º®e
- d1.RemoveAll '²¾°£¦r¨å¤º®e
- d2.RemoveAll '²¾°£¦r¨å¤º®e
- Next
- End Sub
½Æ»s¥N½X |
|