簡體   English   中英

需要從幾張不同的紙上垂直復制並粘貼到一張紙上

[英]Need to copy & paste from several different sheets into one sheet vertically

我正在嘗試編寫一個宏,該宏將從工作表中復制一定范圍的單元格,將它們粘貼到將包含所有粘貼數據的工作表(“批量工作表”)中,然后移至第一張工作表之后的下一個選項卡。 這需要針對40個以上的標簽頁進行。 幸運的是,數據在每個選項卡(包括“批量處理表”選項卡)中都位於同一位置。

我可以輕松地將此選項應用於一個選項卡,但是返回到第一個活動選項卡然后再轉到下一個選項卡不會給我帶來麻煩。

例如 代碼(縮短到關鍵位)。 在下一步的底部是我需要移至下一張工作表並執行相同功能的地方,返回“批量處理表”並粘貼到列C中的下一個空單元格中:

Sub
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Activate
Range("C100:F103").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Bulksheet").Select
Range("D1").End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
Next
End Sub

嘗試使用索引值遍歷工作表。

Sub
Dim i as integer
For i = 1 to worksheets.count
sheets(i).Activate
if activesheet.name <> "Bulksheet" then
Range("C100:F103").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Bulksheet").Select
Range("D1").End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
end if
Next
End Sub

嘗試這個:

在此處輸入圖片說明

在此處輸入圖片說明

Sub CopyToBulksheet()
Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets
    If ws.Name <> "Bulksheet" Then
        ws.Activate
        Range("C1:F10").Copy

        Sheets("Bulksheet").Select
        Range("D" & Cells.Rows.Count).End(xlUp).Offset(1, 0).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    End If
Next
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM