none
Excluir linhas de tabela RRS feed

  • Pergunta

  • Olá amigos, estou começando a trabalhar com VBA e preciso de uma ajuda.

    Fiz uma tabela onde a primeira coluna contém "nomes" e as demais colunas são fórmulas do tipo PROCV, justamente para comparar os nomes da primeira coluna em outras tabelas. O que eu quero é um código que exclua todas as linhas da tabela com exceção da primeira para não perder as fórmulas. Ou então, se apagar todas, tem como preenchê-la de novo e inserir as fórmulas nas demais colunas?

    Código que preenche a primeira coluna está assim:

    Sub Atualizar()

    Application.ScreenUpdating = False

        Sheets("Respostas do Cadastro de Membro").Select
        Range("Tabela1[Nome completo do membro]").Select
        Selection.Copy
        Sheets("Pesquisar").Select
        Range("Tabela193[Nome]").Select
        ActiveSheet.Paste
        Sheets("Respostas do Cadastro de Membro").Select
        Range("Tabela1[Nome do filho (1)]").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("Pesquisar").Select
    ActiveSheet.Range("Tabela193[Nome]").Select
        Range("E" & Range("A1").Value).Select
        ActiveSheet.Paste

    ...

    O que quero é poder antes de começar a copiar os dados, apagar os que já estão sem perder as fórmulas.

    Vou tentar representar minha tabela:

    coluna1      coluna2     coluna3    coluna4      coluna5      coluna6

    nome        fórmula1   fórmula2   fórmula3    fórmula4    fórmula5

    Desde já agradeço a todos.

    domingo, 29 de abril de 2018 11:56

Respostas

  • Podes para esse efeito gravar uma macro, selecionando o intervalo a substituir e eliminar os dados com "limpar conteúdo".

    Depois da macro gravada, editas a macro com o intervalo que desejares.

    Essa macro apenas te limpa os dados e não a formatação, pelo que as formulas permanecem.

    Qualquer coisa tão simples como isto:

    Sub Limpar()
    '
        Range("B2:F1000").Select
        Selection.ClearContents
    End Sub
    


    Marca como resposta se te foi útil.

    M_A_S_L



    • Editado M_A_S_L domingo, 29 de abril de 2018 13:47
    • Marcado como Resposta ProfetaDJ domingo, 29 de abril de 2018 16:49
    domingo, 29 de abril de 2018 13:01

Todas as Respostas

  • Podes para esse efeito gravar uma macro, selecionando o intervalo a substituir e eliminar os dados com "limpar conteúdo".

    Depois da macro gravada, editas a macro com o intervalo que desejares.

    Essa macro apenas te limpa os dados e não a formatação, pelo que as formulas permanecem.

    Qualquer coisa tão simples como isto:

    Sub Limpar()
    '
        Range("B2:F1000").Select
        Selection.ClearContents
    End Sub
    


    Marca como resposta se te foi útil.

    M_A_S_L



    • Editado M_A_S_L domingo, 29 de abril de 2018 13:47
    • Marcado como Resposta ProfetaDJ domingo, 29 de abril de 2018 16:49
    domingo, 29 de abril de 2018 13:01
  • Podes para esse efeito gravar uma macro, selecionando o intervalo a substituir e eliminar os dados com "limpar conteúdo".

    Depois da macro gravada, editas a macro com o intervalo que desejares.

    Essa macro apenas te limpa os dados e não a formatação, pelo que as formulas permanecem.

    Qualquer coisa tão simples como isto:

    Sub Limpar()
    '
        Range("B2:F1000").Select
        Selection.ClearContents
    End Sub
    


    Marca como resposta se te foi útil.

    M_A_S_L



    Muito obrigado M_A_S_L, perfeito, Deus abençoe.
    domingo, 29 de abril de 2018 16:50