標題:
[發問]
請問如何將一列資料變成三列
[打印本頁]
作者:
michael101772
時間:
2013-3-14 23:14
標題:
請問如何將一列資料變成三列
大家好,
需求說明如下:
就像檔案中sheet1 的資料變成 sheet2的樣子。
sheet1的資料共有九欄,想將資料複製到sheet2(實際是要複製到另一個活頁簿),而且每貼三欄後,
就自動貼到下一列。即1~3欄貼到第一列後,4~6欄貼到第二列,7~9欄貼到第三列~依序貼下去。
由於儲存格有些有公式,希望貼過去後一併變成值。
大概知道應該用迴圈的方式寫,不過想不出來,希望版上神人給予建議
感謝
作者:
Hsieh
時間:
2013-3-15 00:22
回復
1#
michael101772
Sub ex()
Dim ar()
With 工作表1
For Each a In Range([A2], [A2].End(xlDown))
For i = 0 To 6 Step 3
ReDim Preserve ar(s)
ar(s) = Array(a.Offset(, i).Value, a.Offset(, i + 1).Value, a.Offset(, i + 2).Value)
s = s + 1
Next
Next
End With
工作表2.[A2].Resize(s, 3) = Application.Transpose(Application.Transpose(ar))
End Sub
複製代碼
作者:
michael101772
時間:
2013-3-15 15:06
回復
2#
Hsieh
感謝版主,測試無誤。
真是太厲害了。
可以在請教版主這條程式的涵義嗎?不太懂step 3的作用「 For i = 0 To 6 Step 3 」
感謝
作者:
Hsieh
時間:
2013-3-15 16:59
回復
3#
michael101772
迴圈中變數的增量
作者:
michael101772
時間:
2013-4-18 18:52
版主大大,
想問若要把排序後的資料放到另一個檔案的sheet的話,要怎麼做?
我試過在程式中加入新增活頁簿並指定到活頁簿,可是他就是無法貼過去。
感恩
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)