返回列表 上一主題 發帖

[發問] 請教如何使用vba遍歷各工作表之相同範圍內容COPY至主頁並適時新增Columns數

本帖最後由 stillfish00 於 2013-1-24 19:16 編輯

回復 1# cmo140497
1.
>>如遇欄位數不足,自動新增來源之columns數,
敘述看不懂

2.
>>每排僅能有三個範圍資料,第四個則跳第二排
檔案跟圖上顯示的是
僅有二個範圍資料,第三個則跳第二排
   
3.
不過我大該可以猜出你要甚麼...
試看看..
  1. Sub Test()
  2. Dim vCols As Long, cIndex As Long, rIndex As Long
  3. Dim first As Long, last As Long
  4. Dim sCopy As String
  5. Dim r, c

  6. first = 2   'from T02 , 可自行調整
  7. last = 5    'to   T05 , 可自行調整
  8. sCopy = "B2:P12"       '可自行調整

  9. r = Range(sCopy).Rows.Count + 1     '每區塊列數,+1列標題(Wafer TXX)
  10. c = Range(sCopy).Columns.Count + 1  '每區塊欄數,+1欄空白

  11. '可見的欄數總數
  12. vCols = Sheets("sheet1").Cells.SpecialCells(xlCellTypeVisible).Columns.Count

  13. For i = first To last
  14.     rIndex = Int((i - first) / Int(vCols / c))
  15.     cindex = (i - first) Mod Int(vCols / c)
  16.    
  17.     With Sheets("sheet1").[B5].Offset(r * rIndex, c * cindex)
  18.         .Offset(-1, 1).Value = "WAFER"
  19.         .Offset(-1, 2).Value = "T" & Format(i, "00")
  20.         Sheets("T" & Format(i, "00")).Range(sCopy).Copy .Cells(1, 1)    '範圍複製[B2:P12],含格式
  21.     End With
  22. Next i
  23. End Sub
複製代碼

TOP

回復 4# cmo140497
能舉個例嗎?
>>避免其它二頁也被copy進來
哪兩頁? 有sheet name和 sheet位置順序嗎?
這兩頁外的都要copy嗎?

TOP

回復 7# cmo140497
資料沒缺嗎?
With Sheets("DashBoard").[R50].Offset(newR, newC)   
R50為起始點 ,  vCols應定為
vCols = Sheets("DashBoard").Cells.SpecialCells(xlCellTypeVisible).Columns.Count-49
除非你A:Q都隱藏

TOP

        靜思自在 : 口說好話、心想好意、身行好事。
返回列表 上一主題