Ошибка периода выполнения 1004, когда клетки копии/приклеивания в том же самом активном листе

Написал код ниже, чтобы проверить, являются ли две клетки тем же самым. Клетка в колонке 20 - vlookup, который возвращает комментарии из другого листа. Я хочу проверить, есть ли у клетки в колонке 16 уже те комментарии и, если это не делает, я хочу, чтобы макрос приклеил ценности от клетки в 20 к клетке в 16. Я в основном делаю это, потому что я хочу, чтобы комментарии в 16 были просто чистым текстом, но он должен динамично (через другой макрос) обновление, поскольку комментарии связаны со сводной таблицей, с которой они сидят рядом на листе.

Править: Я использую Excel 2007 в случае, если это релевантно.

В коде ниже, обнаруживается проблема, когда макрос пытается скопировать клетку в колонке 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
1
nl ja de
Используйте ActiveSheet. Клетки (rowstest, 20).Copy
добавлено автор brettdj, источник

1 ответы

На самом деле вы могли уменьшить код до

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

(поскольку ценности должны быть скопированы, если они отличаются, и ценности, может все еще быть скопирован, если они - то же самое)

2
добавлено
Хорошо теперь you' ve заставил меня чувствовать себя подобно идиоту, ха-ха. Спасибо за ответ и это работает красиво!
добавлено автор Sam WB, источник