- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 136
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2025-6-5
               
|
4#
發表於 2011-2-8 16:01
| 只看該作者
回復 3# y663258 - Sub nn()
- Dim ar(7, 6) '宣告一個6列7欄的陣列
- ar(1, 2) = "年": ar(3, 2) = "月": ar(5, 2) = "日" '固定不變的值先寫入陣列
- r = 4: k = 1 '開始寫入的位置r是列位,k是欄位
- With Sheet2
- For Each a In .Range(.[A2], .[A65536].End(xlUp))
- ar(0, 4) = a.Value 'A欄的值是陣列中第5欄的第1個位置
- ar(0, 2) = a.Offset(, 1).Value 'B欄的值是陣列中第3欄的第1個位置
- ar(2, 2) = a.Offset(, 2).Value 'C欄的值是陣列中第3欄的第3個位置
- ar(4, 2) = a.Offset(, 3).Value 'D欄的值是陣列中第3欄的第5個位置
- ar(0, 0) = a.Offset(, 4).Value 'E欄的值是陣列中第1欄的第1個位置
- Sheet1.Cells(r, k).Resize(7, 6) = ar '寫入到表格
- k = k + 6 '準備下一個寫入欄位
- If k = 25 Then k = 1: r = r + 10 '因為標籤橫向有4張,每張佔了6欄,所以當寫入位置到了25欄時必須回到第一欄,並向下位移10列寫入
- Next
- End With
- End Sub
複製代碼 |
|