仅将值复制到表中

时间:2017-08-01 13:00:21

标签: vba excel-vba excel

我正在尝试从表中复制数据,该表使用公式获取其值。我想将值仅粘贴到另一个工作表的表中,并且还要调整表的大小以适应内容。但是我在下面的代码中出现了这行错误:

.Resize.Range.Resize (.Range.Rows.COUNT + 1)   

完整代码

Dim LastRow1 As Long
Dim s As Long, w As Long

With Worksheets("PlaceHolderDD")
    LastRow1 = .Cells(.Rows.Count, "A").End(xlUp).Row
End With

With Worksheets("KYC Feedback Page 2")
    w = .Cells(.Rows.Count, "A").End(xlUp).Row
End With

For s = 2 To LastRow1
    With Worksheets("PlaceHolderDD")
        .Rows(s).Copy
        Worksheets("KYC Feedback Page 2").Range("A" & w).PasteSpecial xlPasteValues            
        w = w + 1
    End With

    With Worksheets("KYC Feedback Page 2").ListObjects("Table1")
        .Resize.Range.Resize (.Range.Rows.Count + 1)
    End With
Next s

1 个答案:

答案 0 :(得分:2)

尝试总是定义并设置所有Objects,在您的情况下,您可以定义和设置" Table1 "表

' define the Table object
Dim Tbl1 As ListObject

' set the Table object
Set Tbl1 = Worksheets("KYC Feedback Page 2").ListObjects("Table1")

' resize the Table rows count by 1
'Tbl1.DataBodyRange.Resize (Tbl1.DataBodyRange.Rows.Count + 1)

' use another Range for the Resize
Dim R As Range
Set R = Tbl1.Range

' resize the Table rows count by 1
Tbl1.Resize R.Resize(R.Rows.Count + 1, R.Columns.Count)
相关问题