我很困惑為什么這不能正常作業:我有多個作業表(例如,Sheet1、Sheet2、Sheet3),每個作業表的列數相同,但行數不同(不斷變化)。我想將所有這些合并在一張紙上,以便我隨時進行。
合并表上的標題已預先設定,因此我開始粘貼到該表的第 2 行。
Sheet1 = 5000 行(包括標題行)- 確認,底部沒有空白行
Sheet2 = 300 行(包括標題行) - 同上
Sheet3 = 1200 行(包括標題行) - 同上
合并 = 1 行(僅標題行) - 同上
當我使用以下編碼將 Sheet1(第一個作業表)粘貼到 Consolidation 中時,它會粘貼除標題行以外的所有行 - 根據需要,從第 (A)2 行開始。但是:它還粘貼空白行以將整個作業表填充到 1,048,576 行(作業表限制)??!!
不知道為什么會發生這種情況,或者如何繞過這些帶有標記的虛擬空白行。不完全確定如何找到最后一個空白行,然后將 Sheet2 資料(來自 Row2)粘貼到底部,并繼續對下一張作業表進行類似操作。
Sheets("Sheet1").Range("A2:CF" & Rows.Count).Copy
Sheets("Consolidate").Activate
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
感激地收到任何幫助。提前致謝。
uj5u.com熱心網友回復:
您沒有指定最后一行進行復制粘貼。嘗試這樣的事情,并盡量避免使用選擇。
Sub CheckDuplicateAcrossWorkbook()
Dim pullWs As Worksheet, dropWS As Worksheet, lastRow As Long
Set pullWs = Sheets("Sheet1")
Set dropWS = Sheets("Consolidate")
'make sure no rows are hidden)
lastRow = pullWs.Cells(Rows.Count, 1).End(xlUp).Row
pullWs.Range("A2:CF" & lastRow).Copy
dropWS.Range("A2").Paste
Application.CutCopyMode = False
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/324380.html
