Board logo

標題: [發問] 關於資料的複製貼上問題 [打印本頁]

作者: 被論文逼瘋的人    時間: 2016-6-7 12:56     標題: 關於資料的複製貼上問題

不知道如何解決,請眾位高手幫忙!!
資料像這樣:
ln0000001        1        1        1        4        0.865                ln0000001        1        1        1        4        0.865                ln0000001        1        1        1        4        0.865 .........接續(有空一行)
ln0000166        1        1        2        4.25        0.0836                ln0000171        1        1        2        4.65        0.2082                ln0000172        1        1        2        4.7        0.2295
ln0008059        2        1        1        4.25        0.7296                ln0008063        2        1        1        4.65        0.4318                ln0008064        2        1        1        4.7        0.4002
ln0008219        2        1        2        4        0.0277                ln0008219        2        1        2        4        0.0277                ln0008219        2        1        2        4        0.0277
ln0008058        2        1        1        4        0.9496                ln0008058        2        1        1        4        0.9496                ln0008058        2        1        1        4        0.9496
ln0008223        2        1        2        4.25        0.0577                ln0008228        2        1        2        4.65        0.1598                ln0008229        2        1        2        4.7        0.1782
ln0016118        3        1        1        4.25        0.5564                ln0016122        3        1        1        4.65        0.2932                ln0016123        3        1        1        4.7        0.267
......接續(沒有空一列)
.......

我想要將所有資料都整理在A~F欄位
(將H之後的其他資料都剪下,然後接續貼上A~F欄位數字的之後)
但是A~F、H~M等行數一致但列數不同
不知道這樣vba 要怎麼寫?
[attach]24445[/attach]
作者: stillfish00    時間: 2016-6-7 15:43

回復 1# 被論文逼瘋的人
  1. Sub Test()
  2.     Dim ws As Worksheet, r, c
  3.     Set ws = Sheets.Add
  4.    
  5.     r = 1
  6.     With Sheets("1")
  7.         For c = 1 To .Cells(1, .Columns.count).End(xlToLeft).Column Step 7
  8.             With .Cells(1, c).CurrentRegion
  9.                 .Copy ws.Cells(r, 1)
  10.                 r = r + .Rows.count
  11.             End With
  12.         Next
  13.     End With
  14. End Sub
複製代碼

作者: 被論文逼瘋的人    時間: 2016-6-7 23:42

回復 2# stillfish00
首先,謝謝您的解答!!
事情其實是這樣的,
我的資料其實不只一個工作表,而且命名都沒有一定的順序,
如果我希望將每一個工作表都能進行上述複製貼上的動作(然後是接續在所有工作表後),
又應該如何做呢?
作者: stillfish00    時間: 2016-6-8 10:23

回復 3# 被論文逼瘋的人
小改一下而已
  1. Sub Test()
  2.     Dim ws As Worksheet, r, c, shCnt, i
  3.     shCnt = Sheets.Count
  4.     Set ws = Sheets.Add(after:=Sheets(shCnt))
  5.    
  6.     r = 1
  7.     For i = 1 To shCnt
  8.         With Sheets(i)
  9.             For c = 1 To .Cells(1, .Columns.Count).End(xlToLeft).Column Step 7
  10.                 With .Cells(1, c).CurrentRegion
  11.                     .Copy ws.Cells(r, 1)
  12.                     r = r + .Rows.Count
  13.                 End With
  14.             Next
  15.         End With
  16.     Next
  17. End Sub
複製代碼

作者: 被論文逼瘋的人    時間: 2016-6-8 11:07

回復 4# stillfish00

所謂台上十分鐘
台下十年功
沒想到修改一下程式碼就可以改變那麼多
我還有很多需要學習的
非常感謝您的幫助~




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)