1

У меня есть лист, который позволяет пользователю вставлять данные, а затем вставлять их в скрытый лист в книге, которая управляет сводной таблицей. Это делается с помощью командной кнопки.

Мой код выбирает данные в диапазоне до последней строки, а затем вставляет их в следующую строку без данных в другой рабочей таблице. Затем я пытаюсь удалить данные из листа загрузки после того, как закончил. Все работает, кроме удаления данных. Не уверен, что не так. Я также попытался использовать «Вырезать» вместо копирования, но результат был тот же. ТАКАЯ помощь была бы оценена.

Sub TestingPaste()

    Application.ScreenUpdating = False
    Dim lst As Long

    Sheets("Upload Data").Range(Range("A2:N2"), Range("A2:N2").End(xlDown)).Copy
    With Sheets("Test")
        lst = .Range("A" & Rows.Count).End(xlUp).Row + 1
        .Range("A" & lst).PasteSpecial xlPasteColumnWidths
        .Range("A" & lst).PasteSpecial xlPasteValues
        Sheets("Upload Data").Range(Range("A2:N2"), Range("A2:N2").End(xlDown)).Clear
    End With

    Application.ScreenUpdating = True

End Sub

1 ответ1

0

Спасибо всем. @BruceWayne, спасибо за совет. Я использовал некоторые из ваших предложений, но обнаружил, что после завершения подпрограммы он оставил пользователя на "тестовой" странице. С тех пор я добавил Sheets("Upload Data").Select чтобы вернуть пользователя на лист загрузки. Ниже приведен окончательный результат для всех, кто заинтересован.

Dim lst As Long

Sheets("Upload Data").Range(Range("A2:N2"), Range("A2:N2").End(xlDown)).Copy
With Sheets("Test")
    lst = .Range("A" & Rows.Count).End(xlUp).Row + 1
    .Range("A" & lst).PasteSpecial xlPasteColumnWidths
    .Range("A" & lst).PasteSpecial xlPasteValues
    Sheets("Upload Data").Range(Sheets("Upload Data").Range("A2:N2"), Sheets("Upload Data").Range("A2:N2").End(xlDown)).Clear
End With

    Sheets("Upload Data").Select

Application.ScreenUpdating = True

End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .