返回列表 上一主題 發帖

[發問] 關於資料的複製貼上問題

[發問] 關於資料的複製貼上問題

不知道如何解決,請眾位高手幫忙!!
資料像這樣:
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 要怎麼寫?
test.zip (189.94 KB)

回復 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
複製代碼
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

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

TOP

回復 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
複製代碼
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

回復 4# stillfish00

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

TOP

        靜思自在 : 布施如播種,以歡喜心滋潤種子,才會發芽。
返回列表 上一主題