Página 1 de 1
Copiando e atualizando coluna automaticamente de outra tab
Enviado: 14 Dez 2015 às 20:37
por rafak1ngz
Olá a todos,
Estou criando uma planilha no Excel 2013, vou tentar explicar a planilha para assim, quem puder, me ajudar.
Em uma planilha tenho duas abas, "Clientes" e "Situação Financeira". O que desejo fazer é, todos os nomes dos clientes localizados em B3 em diante sejam copiadas a partir de B3 da aba "Situação Financeira". O grande problema é que preciso que a tabela de "Situação Financeira" seja atualizada automaticamente assim que incluir mais algum cliente na primeira tabela.
Copiando e atualizando coluna automaticamente de outra tab
Enviado: 14 Dez 2015 às 20:46
por Edcronos
a maneira mais rapida e simples é copiar e colar onde vc quer como vinculo
fora isso precisa de mais informação e de uma planilha de exemplo de como está e como vc quer que fique
Copiando e atualizando coluna automaticamente de outra tab
Enviado: 14 Dez 2015 às 20:49
por rafak1ngz
O problema de colar com vinculo é que toda vez que criar um novo cliente, a segunda tabela não vai expandir, ficando com um cliente a menos.
Copiando e atualizando coluna automaticamente de outra tab
Enviado: 14 Dez 2015 às 21:00
por Edcronos
é só vc copiar com linhas a mais e pode usar formatação condicional para encobrir os zeros
Copiando e atualizando coluna automaticamente de outra tab
Enviado: 14 Dez 2015 às 21:13
por rafak1ngz
Não entendi como fazer, consegue explicar?
Copiando e atualizando coluna automaticamente de outra tab
Enviado: 14 Dez 2015 às 21:22
por Edcronos
olha só
para fazer oq vc quer pode usar formula , ou macro,
colar como vinculo nada mais é do que colar como formula
imagina que eu copiei a celula B3 da Plan1 e colei como vinculo em outra aba
o resultado seria esse
=Plan1!B3
vc pode simplesmente arrastar a celula até onde vc quer
Copiando e atualizando coluna automaticamente de outra tab
Enviado: 14 Dez 2015 às 21:28
por Edcronos
se vc quer suplimir os zeros que aparece para celulas vazias pode usa um formula com SE
=se(Clientes!B3<>"";Clientes!B3;"")
e então arrastar a formula para baixo até onde vc quer
Copiando e atualizando coluna automaticamente de outra tab
Enviado: 14 Dez 2015 às 21:49
por rafak1ngz
Te explicar o que pretendo fazer e vc me da um conselho de como.
Preciso fazer uma planilha onde na primeira tabela tenha os dados do Cliente, na segunda tabela vai mostrar o nome de todos clientes da primeira tabela e mostrar a situação financeira, se estão devendo ou não.
Lembrando que quem vai mexer na planilha, não sabe nada de excel, então toda vez que for criar um novo cliente, o ideal é que ele apareça sozinho na segunda tabela.
Copiando e atualizando coluna automaticamente de outra tab
Enviado: 14 Dez 2015 às 21:54
por Edcronos
como falei na primeira resposta,
sem uma planilha de exemplo com alguns dados "não precisa ser os originais, apenas do mesmo tipo"
e uma explicação mais detalhada fica dificil te ajudar
mesmo pq se é para colocar em uma e aparecer na outra a mesma coisa pq não ter uma só ?
Re: Copiando e atualizando coluna automaticamente de outra t
Enviado: 15 Dez 2015 às 00:16
por rafak1ngz
Segue em anexo a planilha com o desenho feito, assim você pode ter noção do que preciso.
Muito obrigado pela ajuda.
Copiando e atualizando coluna automaticamente de outra tab
Enviado: 15 Dez 2015 às 09:44
por Parkeless
E aí Rafa, bom dia!
O que o Edcronos sugeriu funciona, mas tem a desvantagem de que a planilha fica limitada a um número "x" de linhas, sendo necessário que "arraste" a fórmula manualmente para conter mais linhas... além disso, se sua planilha já tiver muitas fórmulas, ela pode ficar pesada.
Então estou te encaminhando uma segunda opção, com macro; vê se te atende também.
Copiando e atualizando coluna automaticamente de outra tab
Enviado: 15 Dez 2015 às 09:55
por rafak1ngz
Olá amigo,
É exatamente isso! Muito obrigado, mas não querendo abusar e já abusando, tentei ver aqui o macro e a formula usada para aprender, só que não consegui. Teria como explicar um pouco o que fez para chegar ao resultado? Por que vou ter mais planilhas que farei da mesma forma.
Desculpa a encheção de saco, mas estou querendo aprender um pouco sobre excel avançado.
Abraços
Copiando e atualizando coluna automaticamente de outra tab
Enviado: 15 Dez 2015 às 13:27
por Parkeless
Rafa,
Então cara, é um pouco complicado explicar se você não é familiarizado com VBA, até porque cada um tem uma forma de programar (pois pensamos diferente).
Se você pretende aprender a programar, eu te recomendo o livro Programando Excel VBA Para Leigos; eu peguei com ele
De qualquer forma tentei descrever abaixo, mas não sei se você vai conseguir entender...
O código que fiz não foi incluído em um módulo, mas na primeira aba, dessa forma:
O que mandei o código fazer é, basicamente, sempre que você alterar algo na primeira aba, o Excel verificará se a célula alterada encontra-se na coluna B e, caso sim, atualiza os dados da segunda aba.
Abaixo posto o código utilizado, com comentários. Vai ficar mais fácil de ler se você copiar e colar em um módulo qualquer do Excel (porque ele pinta os comentários de outra cor).
Código: Selecionar todosPrivate Sub Worksheet_Change(ByVal Target As Range) 'Executar toda vez que algo mudar (change) na aba CLIENTE
'Observação: Variante "Target" já definida na declaração acima (ByVal Target As Range); refere-se à célula que foi alterada (change)
Dim cell As Range 'Determinar variante Range (intervalo
On Error GoTo Erro 'Se der erro, é que não funcionou; dar mensagem ao usuário
If Target.Column = 2 Then 'Se a coluna da célula alterada for igual a 2, então... (2 pois é a coluna B)
Application.ScreenUpdating = False 'Desabilitar atualizações de tela (isso faz com que a macro fique uns... milésimos mais rápida nesse caso; coloquei mais por uma questão de costume
If Target = "" Or Target.Row <> Sheets(2).Range("B1000000").End(xlUp).Row Then 'Executar se: a) a célula que foi alterada foi deletada, ou b) a linha da célula alterada for diferente da última linha preenchida na planilha "SITUAÇÃO FINANCEIRA"
Sheets(2).ListObjects("Tabela5").Resize Range("$B$2:$N$" & Sheets(1).Range("B1000000").End(xlUp).Row & "") 'Se tudo isso for verdadeiro, redefinir o tamanho da tabela da aba SITUAÇÃO FINANCEIRA, para o seguinte endereço: B2:N? - sendo "?" igual à última linha da aba "CLIENTE".
'Quando uma tabela é redimencionada, ela puxa as fórmulas para baixo automaticamente... então dá certo. Se não fosse uma tabela, eu teria que adicionar aqui o comando Range("x").filldown, que é o equivalente a você apertar CTRL + D no teclado
End If
Cells(Target.Offset(1, 0).Row, 2).Select 'Seleciona uma célula abaixo da célula alterada (só um detalhe)
Application.ScreenUpdating = True 'Reabilitar atualizações de tela
End If
Exit Sub 'Sair da macro
Erro: 'Se veio para cá, é sinal que deu erro. Avisar usuário
MsgBox "Aviso: as fórmulas da aba " & Sheets(2).Name & " não puderam ser atualizada automaticamente!", vbExclamation
End Sub
Re: Copiando e atualizando coluna automaticamente de outra t
Enviado: 15 Dez 2015 às 15:54
por Edcronos
eu não uso tabelas do excel então não estou familiarizado com elas
para falar a verdade nem pensei que ele estivesse usando
eu pensei em vba no inicio
mas como ele tem dificuldade até com formulas fiquei com receio
mas oq tem aparecido gente usando as tabelas do excel
Re: Copiando e atualizando coluna automaticamente de outra t
Enviado: 16 Dez 2015 às 22:36
por rafak1ngz
Parkeless escreveu:Rafa,
Então cara, é um pouco complicado explicar se você não é familiarizado com VBA, até porque cada um tem uma forma de programar (pois pensamos diferente).
Se você pretende aprender a programar, eu te recomendo o livro Programando Excel VBA Para Leigos; eu peguei com ele
De qualquer forma tentei descrever abaixo, mas não sei se você vai conseguir entender...
O código que fiz não foi incluído em um módulo, mas na primeira aba, dessa forma:

O que mandei o código fazer é, basicamente, sempre que você alterar algo na primeira aba, o Excel verificará se a célula alterada encontra-se na coluna B e, caso sim, atualiza os dados da segunda aba.
Abaixo posto o código utilizado, com comentários. Vai ficar mais fácil de ler se você copiar e colar em um módulo qualquer do Excel (porque ele pinta os comentários de outra cor).
Código: Selecionar todosPrivate Sub Worksheet_Change(ByVal Target As Range) 'Executar toda vez que algo mudar (change) na aba CLIENTE
'Observação: Variante "Target" já definida na declaração acima (ByVal Target As Range); refere-se à célula que foi alterada (change)
Dim cell As Range 'Determinar variante Range (intervalo
On Error GoTo Erro 'Se der erro, é que não funcionou; dar mensagem ao usuário
If Target.Column = 2 Then 'Se a coluna da célula alterada for igual a 2, então... (2 pois é a coluna B)
Application.ScreenUpdating = False 'Desabilitar atualizações de tela (isso faz com que a macro fique uns... milésimos mais rápida nesse caso; coloquei mais por uma questão de costume
If Target = "" Or Target.Row <> Sheets(2).Range("B1000000").End(xlUp).Row Then 'Executar se: a) a célula que foi alterada foi deletada, ou b) a linha da célula alterada for diferente da última linha preenchida na planilha "SITUAÇÃO FINANCEIRA"
Sheets(2).ListObjects("Tabela5").Resize Range("$B$2:$N$" & Sheets(1).Range("B1000000").End(xlUp).Row & "") 'Se tudo isso for verdadeiro, redefinir o tamanho da tabela da aba SITUAÇÃO FINANCEIRA, para o seguinte endereço: B2:N? - sendo "?" igual à última linha da aba "CLIENTE".
'Quando uma tabela é redimencionada, ela puxa as fórmulas para baixo automaticamente... então dá certo. Se não fosse uma tabela, eu teria que adicionar aqui o comando Range("x").filldown, que é o equivalente a você apertar CTRL + D no teclado
End If
Cells(Target.Offset(1, 0).Row, 2).Select 'Seleciona uma célula abaixo da célula alterada (só um detalhe)
Application.ScreenUpdating = True 'Reabilitar atualizações de tela
End If
Exit Sub 'Sair da macro
Erro: 'Se veio para cá, é sinal que deu erro. Avisar usuário
MsgBox "Aviso: as fórmulas da aba " & Sheets(2).Name & " não puderam ser atualizada automaticamente!", vbExclamation
End Sub
Me ajudou muito, vou da uma lida conforme sua dica sobre o assunto, até a poucos dias atrás, não tinha interesse na plataforma.
Forte abraço!