Página 1 de 1

Inserção automática de dados

Enviado: 23 Mar 2016 às 11:49
por Kemps
Boa tarde,

Meu problema é o seguinte:

Tenho uma Tabela "A" e uma Tabela "B"

A Tabela "A" é minha tabela de serviços, onde eu preencho todos os meus dados.
(Ex dados: "Paciente" e "Valor pago").
Nessa tabela eu posso repetir o nome do paciente quantas vezes for necessária, mas posso colocar também um nome novo que nunca foi usado.

A Tabela "B" eu alimento somente com o nome dos meus pacientes.
Nessa tabela eu não posso ter nomes repetidos, nela eu mantenho quanto cada paciente me pagou ao todo, mas eu preciso incluir manualmente nela qualquer novo nome que apareça na Tabela "A".

Eu gostaria que toda vez que eu colocasse na Tabela "A" um nome que ainda não existe, que ele fosse automaticamente adicionado à Tabela "B" também.

Sem macros

Obrigado desde já!

Inserção automática de dados

Enviado: 23 Mar 2016 às 11:54
por Kledison
Boa tarde,

tem como você postar um exemplo de seu arquivo ?

Re: Inserção automática de dados

Enviado: 23 Mar 2016 às 12:22
por Kemps
Claro, tentei simplificar usando esse exemplo haha, mas segue o arquivo:

Tabela "A" = Planilha "Produção": (Tabela_Produção)
Tabela "B" = Planilha "Blocos": (Blocos_Ativos)

Eu precisava que toda vez que colocasse um nome de bloco novo na coluna "Bloco" da tabela "Tabela_produção" aparecesse esse nome novo na tabela "Blocos_Ativos".

Re: Inserção automática de dados

Enviado: 23 Mar 2016 às 13:38
por Kledison
Boa tarde,

fiz utilizado fórmula matricial, verifica se é isso que precisa.

Att

Inserção automática de dados

Enviado: 23 Mar 2016 às 13:48
por Kemps
É exatamente isso que preciso, mas eu precisaria disso dentro da tabela "Blocos_Ativos", assim posso organizar usando as ferramentas da tabela e não o filtro manual, tem como fazer isso?

Re: Inserção automática de dados

Enviado: 23 Mar 2016 às 14:08
por gdomingos
Meu amigo, somente uma sugestão, caso utilize fórmulas matriciais para fazer isso.
Como sua planilha é um pouco grande, e estará sempre aumentando com inserção de dados, as fórmulas matriciais deixarão ela um tanto lenta.

Minha sugestão é utilizar fórmulas comuns, já que é possível listar nomes únicos sem o uso de matricial.
Obs.(Não cheguei a olhar sua planilha, mas pelo que entendi da explicação é isso que você precisa)

Segue exemplo.
Não utilizei tratamento de erro pois neste computador só tenho o Excel 2003, mas basta você usar seerro().

[]

Re: Inserção automática de dados

Enviado: 23 Mar 2016 às 14:43
por AndersonLeal
Olá,

Veja se a planilha que fiz atende sua necessidade. Utilizei uma fórmula matricial para extrair os nomes sem repetição. Na plan "TABELA B" podem ser inseridos até 19 nomes exclusivos de pacientes. Caso deseje inserir mais me avise.

Abraço.

Re: Inserção automática de dados

Enviado: 23 Mar 2016 às 18:04
por Kemps
gdomingos escreveu:Meu amigo, somente uma sugestão, caso utilize fórmulas matriciais para fazer isso.
Como sua planilha é um pouco grande, e estará sempre aumentando com inserção de dados, as fórmulas matriciais deixarão ela um tanto lenta.

Minha sugestão é utilizar fórmulas comuns, já que é possível listar nomes únicos sem o uso de matricial.
Obs.(Não cheguei a olhar sua planilha, mas pelo que entendi da explicação é isso que você precisa)

Segue exemplo.
Não utilizei tratamento de erro pois neste computador só tenho o Excel 2003, mas basta você usar seerro().

[]
Na verdade sua solução realmente é muito melhor, testei as matriciais e ficou bem mais lento mesmo, mas não consegui adaptar muito bem sua fórmula à minha planilha, se vc tiver mais tempo poderia me ajudar com isso?

Obrigado aos demais pela ajuda também!

Inserção automática de dados

Enviado: 23 Mar 2016 às 19:32
por Kledison
Olá Kemps,

a sua planilha mesmo sem a fórmula MATRICIAL está lenta, nesse ponto concordo com o gdomingos e aconselho usar uma fórmula sem ser matricial, utilize a fórmula que ele passou, só acrescentei o tratamento de erro.
Código: Selecionar todos
=SEERRO(ÍNDICE(Produção!$P$2:$P$3100;CORRESP(0;ÍNDICE(CONT.SE(Blocos!$D$6:D6;Produção!$P$2:$P$3100);0);));"")
Att