使用VBA将值复制到Excel表中,而无需额外的行

使用VBA将值复制到Excel表中,而无需额外的行,excel,vba,Excel,Vba,我试图找到一种方法,从一个工作表中复制值,然后将其粘贴到现有的Excel表中。但是,我不明白为什么表中有额外的行。例如,源工作簿可能有大约1500行,但生成的目标表最终会增加大约20000行 下面是复制和粘贴的一个片段 Dim sourceWkb2 As Workbook Dim sourceWks2 As Worksheet Dim targetWks2 As Worksheet Dim sourceFilename2 As String Dim Get

我试图找到一种方法,从一个工作表中复制值,然后将其粘贴到现有的Excel表中。但是,我不明白为什么表中有额外的行。例如,源工作簿可能有大约1500行,但生成的目标表最终会增加大约20000行

下面是复制和粘贴的一个片段

    Dim sourceWkb2 As Workbook
    Dim sourceWks2 As Worksheet
    Dim targetWks2 As Worksheet
    Dim sourceFilename2 As String
    Dim GetFileName2(1 To 3) As String
    Dim j As Integer
    
    Dim lLastRow1 As Long

    Set targetWks2 = Sheets("RTH test")
    sourceFilename2 = GetFileName2(1)
    Set sourceWkb2 = Workbooks.Open(sourceFilename2)
    Set sourceWks2 = sourceWkb2.Sheets(1)

    lLastRow1 = sourceWks2.Cells(sourceWks2.Rows.Count, 1).End(xlUp).Row

    'Clear the current RTH table
    With targetWks2.ListObjects("RTH_testtable")
        If Not .DataBodyRange Is Nothing Then
            .DataBodyRange.Delete
            .Resize .Range.Resize(lLastRow1, .ListColumns.Count)
        End If
    End With
    
    'Paste the source data into the newly cleared RTH table
    sourceWks2.Range("A2:G2" & lLastRow1).Copy _
    targetWks2.Range("A2:G2" & lLastRow1)
    
    MsgBox lLastRow1

targetWks2.Range(“A2:G”和lLastRow1)
(倒数第二行)-删除额外的
2
。同样适用于
sourceWks2.Range(“A2:G”&lLastRow1)
。非常感谢!成功了。