Я пытаюсь автоматически скопировать содержимое всей строки с одного листа на другой при каждом обновлении в указанном столбце c исходного листа. я столкнулся с двумя проблемами с моим кодом.
Private Sub Worksheet_Calculate()
Dim target As Range
Set target = Range("K:K")
If Intersect(target, Range("K:K")) Is Nothing Then Exit Sub
Dim c As Range
If target = "Completed" Then
target.EntireRow.Copy 'paste special works now, thanks BigBen
Sheets("Completed").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
End If
End Sub
Код не копируется, когда столбец K на исходном листе обновляется с использованием формулы. Это работает только тогда, когда текст «Завершено» обновляется вручную.
Когда строка копируется, она копирует формулу вместо текста, необходимо скопировать только текст с исходного листа. Я пытался использовать .PasteSpecial Paste: = xlPasteValues , но есть ошибка компиляции - ожидаемый конец оператора.
Это последняя часть моего Проект, который извлекает все файлы, сгенерированные за день, переименовывает его на основе определенных параметров и очищает лист. Эта функция копирования будет вести журнал всех успешных переименований. Я застрял здесь из-за этой проблемы с копией вставки.
Любая помощь по этому вопросу будет принята с благодарностью.
Спасибо.