vba проблемы с копией и PasteSpecial - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь автоматически скопировать содержимое всей строки с одного листа на другой при каждом обновлении в указанном столбце 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
  1. Код не копируется, когда столбец K на исходном листе обновляется с использованием формулы. Это работает только тогда, когда текст «Завершено» обновляется вручную.

  2. Когда строка копируется, она копирует формулу вместо текста, необходимо скопировать только текст с исходного листа. Я пытался использовать .PasteSpecial Paste: = xlPasteValues ​​, но есть ошибка компиляции - ожидаемый конец оператора.

Это последняя часть моего Проект, который извлекает все файлы, сгенерированные за день, переименовывает его на основе определенных параметров и очищает лист. Эта функция копирования будет вести журнал всех успешных переименований. Я застрял здесь из-за этой проблемы с копией вставки.

Любая помощь по этому вопросу будет принята с благодарностью.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...