VBA - Copiar, Colar e excluir da planilha antiga

1

Eu tenho uma planilha que permite que um usuário cole dados e cole-os em uma planilha oculta na pasta de trabalho que controla uma tabela dinâmica. Isso é feito pelo botão de comando.

Meu código seleciona os dados no intervalo até a última linha e os cola na próxima linha sem dados na outra planilha. Então, estou tentando excluir os dados da folha de upload depois de terminar. Tudo funciona ao lado da exclusão dos dados. Não tenho certeza do que está errado. Eu também tentei usar 'Cut' em vez de copiar, mas teve o mesmo resultado. SOme ajuda seria apreciada.

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
    
por user767772 08.11.2017 / 01:28

1 resposta

0

Obrigado a todos. @BruceWayne, obrigado pelo conselho. Eu usei algumas de suas sugestões, mas descobri que depois que o sub tinha terminado, ele deixava o usuário na folha de 'teste'. Eu adicionei desde Sheets("Upload Data").Select para retornar o usuário para a folha de upload. Abaixo está o resultado final para qualquer pessoa interessada.

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
    
por 08.11.2017 / 22:13