none
Copiar Tabelas dentro de planilhas RRS feed

  • Pergunta

  • Bom dia a todos.

    Gostaria de ajuda com uma função ou fórmula para copiar determinada tabela quando o usuário digita o CNPJ. Eu uso o DESLOC para localizar o CNPJ e copiar um valor de uma determinada coluna. Funciona bem.

    Planilha que contém os CNPJ's.

    Nesta planilha eu inseri os CNPJ's e os tipos de contas: LUZ; ÁGUA; ALUGUEL; MATERIAL DE ESCRITÓRIO; etc.

    Planilha que contém as tabelas.

    Nesta planilha eu tenho diversas tabelas que nomeei como: TAB_1; TAB_2; e assim por diante. Essas tabelas contém os valores de gasto mensais para cada conta: LUZ; ÁGUA; etc.

    Ou seja, eu tenho uma tabela com a Razão Social; CNPJ e os meses de Janeiro a Dezembro contendo os valores gastos para cada conta específica.

    Eu preciso copiar a tabela de determinado CNPJ para outra planilha que servirá como relatório de impressão.

    Eu gostaria de ajuda com alguma fórmula ou função que copiasse uma tabela específica dependendo do CNPJ.

    Eu tentei inserir as imagens aqui, mas o site não deixa eu inserir imagens ou links.

    Agradeço muito a ajuda de todos.

    Obrigado

    Leandro


    quarta-feira, 2 de agosto de 2017 15:46

Respostas

  • Option Explicit
    
    Sub teste()
        
        Dim cl As Object
        
        For Each cl In ThisWorkbook.Sheets("Planilha1").UsedRange.Cells
            
            If cl.Value = ThisWorkbook.Sheets("Planilha1").Range("E5").Value Then
                
                Selection.CurrentRegion.Select
                
                Application.CutCopyMode = False
                Selection.Copy
                
                Sheets("Planilha2").Select
                ActiveSheet.Paste
                Exit For
                
            End If
            
        Next cl
        
    End Sub


    Anderson Diniz

    • Marcado como Resposta Leandro Sarno segunda-feira, 7 de agosto de 2017 11:22
    quarta-feira, 2 de agosto de 2017 18:34

Todas as Respostas

  • Anderson, muito obrigado pela resposta.

    Deixa eu ver se entendi.

    Range("Tabela1[#All]").Select - aqui você seleciona a tabela, certo?
       Sheets("Planilha2").Select - aqui você seleciona a planilha e cola a tabela.
        ActiveSheet.Paste

    mas deixa eu perguntar (desculpa minha burrice). Mas, e se fizer isso com fórmulas, sei lá, tipo PROCV?

    Sabe por quê? Nesse código que você enviou eu já tenho que ter o nome da tabela, mas a tabela vai ser selecionada de acordo com o CNPJ que for digitado. É isso que eu to tomando uma surra.

    Obrigado mais uma vez.


    Abs


    • Editado Leandro Sarno quarta-feira, 2 de agosto de 2017 17:02 erro de digitação
    quarta-feira, 2 de agosto de 2017 17:01
  • Entendi,

    Mas, novamente, desculpe minha burrice.

    Ficaria assim: If Planilha1.CelA = Planilha.CelB Then

        

      Range("Tabela1[#All]").Select
        Application.CutCopyMode = False
        Selection.Copy

        Sheets("Planilha2").Select
        ActiveSheet.Paste

    Else

    Não faça nada

    End If

    quarta-feira, 2 de agosto de 2017 17:19
  • Option Explicit
    
    Sub teste()
        
        Dim cl As Object
        
        For Each cl In ThisWorkbook.Sheets("Planilha1").UsedRange.Cells
            
            If cl.Value = ThisWorkbook.Sheets("Planilha1").Range("E5").Value Then
                
                Selection.CurrentRegion.Select
                
                Application.CutCopyMode = False
                Selection.Copy
                
                Sheets("Planilha2").Select
                ActiveSheet.Paste
                Exit For
                
            End If
            
        Next cl
        
    End Sub


    Anderson Diniz

    • Marcado como Resposta Leandro Sarno segunda-feira, 7 de agosto de 2017 11:22
    quarta-feira, 2 de agosto de 2017 18:34