0
Cells(R, DataCol).Resize(, ColumnCount).Copy Cells(R, DataCol) _ 
.Offset(RowOffset * (R -  StartRow), ColOffset).PasteSpecial xlValues

谁能告诉我为什么上面的语句是语法错误,以及如何让语句允许我使用特殊粘贴或粘贴值?

4

3 回答 3

2

无需复制/粘贴值 - 您可以直接分配:

With ActiveSheet.Cells(R, DataCol)
   .Offset(RowOffset * (R -  StartRow), ColOffset).Resize(,ColumnCount).Value= _
                        .Resize(, ColumnCount).Value
End With
于 2013-06-17T23:26:09.420 回答
0

Copy方法只有一个(可选)参数:Destination。这是Range您要复制到的。

PasteSpecial是一种单独的方法。您将使用Copy,然后使用单独的语句来执行 PasteSpecial。

您正在混淆这两种方法。您要么想立即复制到目标,要么先复制然后粘贴特殊,这需要两个单独的语句。例如:

Cells(R, DataCol).Resize(, ColumnCount).Copy
Cells(R, DataCol).Offset(RowOffset * (R -  StartRow), ColOffset).PasteSpecial xlValues
于 2013-06-17T22:15:29.597 回答
0

简而言之,有一些可用的语法,但你把它们弄混了。因此,最流行的语法如下:

'A)- all in one line
Range().Copy Range()   'range to copy >> destination range

'B)- instructions are in separate lines
Range().Copy           'range to copy
Range().PasteSpecial xlValues   'destination range

'C)- instructions are in separate lines
Range().Copy           'range to copy
Sheets().Paste          'destination sheet, activecell/default cell in destination sheet
于 2013-06-17T22:18:36.953 回答