运行时错误1004复制/粘贴单元格在同一活动工作表时

写下面的代码来检查两个单元是否相同。 第20列中的单元格是从另一个工作表返回评论的vlookup。 我想检查第16列中的单元格是否已经有了这些注释,如果没有,我想让macros将值从20中的单元格粘贴到16中的单元格中。基本上这样做是因为我想要注释在16只是纯文本,但它需要dynamic(通过另一个macros)更新,因为注释与他们坐在工作表旁边的数据透视表有关。

编辑:我使用的是Excel 2007,以防它是相关的。

在下面的代码中,当macros试图复制第20列中的单元格时,问题就出现了。具体的代码如下:

ActiveSheet.Range(Cells(rowstest, 20)).Copy 

以下是完整的代码:

 Sub MgrCmntsTest() Application.ScreenUpdating = False Dim rowstest As Integer rowstest = 1 Dim comments As String Dim commentsForm As String With ActiveSheet.Range("a1:u500") Do comments = Cells(rowstest, 20).Value commentsForm = Cells(rowstest, 16).Value If comments = commentsForm Then rowstest = rowstest + 1 Else ActiveSheet.Range(Cells(rowstest, 20)).Copy ActiveSheet.Range(Cells(rowstest, 16)).Select ActiveSheet.PasteSpecial Type:=xlPasteValues rowstest = rowstest + 1 End If Loop While rowstest < 501 End With Application.ScreenUpdating = True End Sub 

其实你可以减less代码

 Range("p1:P500").Value = Range("T1:T500").Value 

(如果值不同,则需要复制这些值,如果它们相同,则值仍然可以被复制)