Tenho uma tabela em uma planilha (Resource.xlsx), chamada "Pessoas". À medida que novas pessoas ingressam na organização, esta tabela aumenta de tamanho.
Tenho outra planilha (Planning.xlsx) na qual gostaria de ter uma réplica dinâmica dos dados em Resource.xlsx. Ou seja, quando adiciono uma linha à tabela em Resource.xlsx, uma nova linha é criada em Planning.xlsx. Também gostaria de poder adicionar colunas adicionais à tabela duplicada em Resource.xlsx.
Na minha cabeça, isso parece ser bastante simples, mas estou lutando. Ou isso, ou estou usando os termos de pesquisa errados! Obrigado por qualquer ajuda.
Responder1
Isto não é, como você descobriu, tão simples. Principalmente porque não é um trabalho para o qual o Excel seja particularmente adequado! O que você realmente quer é um banco de dados!
Tendo resolvido isso, algumas opções se apresentam, mas precisamos entender um pouco mais o escopo. Você deseja que as alterações sejam instantâneas ou está feliz em ter a segunda atualização da pasta de trabalho posteriormente?
No primeiro caso, você precisará escrever alguns scripts VBA na primeira pasta de trabalho que abre a segunda pasta de trabalho e observa eventos de mudança na tabela Pessoas. Quando ocorre um evento de alteração, você verifica se uma nova linha está sendo adicionada e a adiciona à segunda tabela. O VBA será razoavelmente envolvido (receio que demore muito para escrever aqui), mas não muito difícil.
O segundo caso é realmente MUITO mais fácil. Agora você pode basear sua segunda tabela em uma consulta da primeira. Como você deseja adicionar dados extras à segunda tabela, a resposta mais fácil e robusta é instalar o complemento PowerQuery gratuito da Microsoft. Usando isso, crie uma consulta na 1ª tabela, adicione as colunas extras necessárias e pronto. Sempre que você atualizar a 1ª tabela, salve, feche e abra a segunda e depois atualize a consulta (o que pode ser configurado para acontecer quando você abrir).