我试图在重置表格时将一个过滤的表格列的内容复制到另一表格列。
我在.ListColumns(1).DataBodyRange.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
行出现错误,并显示错误消息
Range类的PasteSpecial方法失败。
Sub UpdateTables()
Dim tbl As ListObject, tbl_t As ListObject
Set tbl = Sheets(1).ListObjects(1)
Set tbl_t = Sheets(2).ListObjects(1)
' Copy CUSIP of instruments (level 0)
With tbl
.Range.AutoFilter Field:=.ListColumns("Level").Index, Criteria1:="0", Operator:=xlFilterValues
.ListColumns("CUSIP").DataBodyRange.SpecialCells(xlCellTypeVisible).Copy
.AutoFilter.ShowAllData
End With
' Reset and paste new data
With tbl_t
.ShowTotals = False
' Reset table and clear non-formula cells
If .DataBodyRange.Rows.Count > 1 Then
.DataBodyRange.Offset(1).Resize(.DataBodyRange.Rows.Count - 1, .DataBodyRange.Columns.Count).Rows.Delete
.DataBodyRange.Rows(1).SpecialCells(xlCellTypeConstants).ClearContents
End If
' Paste
.ListColumns(1).DataBodyRange.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone ' <-- CODE FAILS HERE
.ShowTotals = True ' Used to present summized values in graph
End With
Application.CutCopyMode = False
End Sub
答案 0 :(得分:0)
使用复制和粘贴功能时,如果在Copy
之前Paste
,则不能在两者之间使用任何其他操作。