Loop e lista suspensa

Bom dia, Estou com um problema e não consigo resolver
Tenho uma lista suspensa em que, cada vez que seleciono um dos seus valores (nome de pessoas), alguns cálculos são gerados referente aos gastos dessas pessoas. De forma que, cada pessoa possui um valor individual (X).
Preciso de uma macro que selecione cada um desses valores, copie o valor X e cole em outra aba, volte para a lista suspensa, selecione o nome seguinte e copie o valor X para a outra aba, uma linha abaixo da anterior.
Para mim claramente tem uma cara de loop porém não consigo uma forma de fazer a macro selecionar referenciando a célula anterior… Só consegui achar macros que selecionam um texto específico;

Alguma luz sobre o tópico?/
obrigada!!

Boa Tarde.

Tens como compartilhar sua planilha, o exemplo de como deseja?

1 Curtida

Boa tarde Anderson!
Obrigada pela disponibilidade
Fiz uma planilha simplificada com o exemplo que preciso.
Infelizmente sou nova no fórum e impossibilitada de anexar arquvios. queres que te envie por e-mail?
Criei uma planilha simples para exemplificar minha necessidade.
Uma pena não poder postar aqui… :frowning:

Obrigada

Claro, anderson.weizenmann@gmail.com

Bom Dia @brunaszanotto

Segue o modelo que criei.

exemplo.xlsm (25,5,KB)

Veja que coloquei ao lado do valor total na planilha “2”, o botão atualizar, para quando você alterar algum valor na planilha de custos, ele reconhece o paciente, e atualiza o valor do mesmo na planilha “3”.

Podemos caso necessário, ajustar a planilha para que atualize a cada alteração de valores da planilha “2”, mas ai teremos o problema que se sua planilha ficar grande, com muitos dados, a cada alteração ela vai atualizar, e dependendo das informações, isso pode se tornar pesado.

Se for cadastrar novo cliente, ele ira reconhecer o cliente, porém se no futuro, preferir criar uma nova planilha apenas com cadastro dos clientes, podemos alterar o código para buscar diretamente desta fonte.

Qualquer duvida, a disposição.

1 Curtida

@andersonw

Fantástico, ajudaste muito mesmo.

Mas se não for muito abuso tenho uma dúvida sim, seria possível uma macro que em um clique ela passe nome um a um na linha suspensa e copie os valores? Pois dessa maneira que me apresentaste eu preciso ir nome a nome e clicar em atualizar para os valores serem colados, penso como poderia automatizar para que a macro corresse na lista suspensa. Eu penso que isso seria feito através da criação de índice e loop mas como são nomes diferentes não consegui encontrar uma solução. Dim i As Integer algo assim?!

Sobre a sugestão, a planilha original é bem maior e isso de ficar pesado pode ser um problema, além disso, como os dados da aba 2 vem da aba 1, eles já se modificam automaticamente conforme atualização.

Gostei da ideia de uma aba para cadastro de clientes, pois ela seria uma “aba mãe” para várias outras como gráficos etc! E a fórmula ficaria atualizada para cada novo nome.

obrigada denovo!

abraço

Olá @brunaszanotto.

Poderíamos fazer o processo um pouco diferente, acredito que no final o resultado fica melhor.

Ao invés de escrever manualmente o nome do cliente na “planilha1”, e ao lado preencher todos os serviços, acredito que prestados ao paciente, podemos inserir um userform onde o ponto de partida seria selecionar o cliente (já cadastrado, caso contrario o formulário enviaria o usuário diretamente ao formulário de cadastro), e ai se preenche os campos, os que tem opção pré definida, apenas selecionar, os que são aleatórios, campo para preenchimento manual.
Apos o preenchimento deste form, o próprio vba envia para o banco de dados as informações e atualiza automaticamente.

E por ai vai, aos poucos implementando novas funções neste arquivo.

Oi @andersonw, demorei pois fiquei pensando na viabilidade das novas sugestões. De fato é uma ideia muito boa e ficaria muito mais fácil de mexer mas para a planilha original acho que não caberia pois os serviços prestados vem de outro banco ou eventualmente estimados com base na mediana dos disponíveis… enfim… eu acho que no momento uma solução seria uma macro que rodasse o loop de 'muda nome > copia valor > cola valor", e depois claro ir aprimorando conforme necessidades.
Achas que a solução seria tornar loop a fórmula que me enviaste primeiramente? dificuldade justamente nesta ordem de “andar um abaixo” na lista suspensa…

Bom Dia @brunaszanotto

Tranquilo, fiz o loop como você solicitou.

  • fiz o loop correr sobre os nomes da planilha “3” célula “A4” ate a primeira célula vazia, isto porque se você adicionar novo nome, não irá precisar mexer no código, ele irá reconhecer o novo nome, e somente para o loop na próxima célula vazia.

  • caso você esteja conferindo nome por nome na planilha “2”, e ai atualizar, a lista irá atualizar todos os nome e retornar ao primeiro nome salvo, na planilha “3”, ou seja, seu primeiro paciente.

Qualquer duvida, ou alteração, favor informar. Obrigado.

Segue…

Modelo_Bruna.xlsm (24,1,KB)

1 Curtida

@andersonw
Muito obrigada!!! era exatamente isso que queria, ainda mais com a possibilidade de adicionar novos nomes sem mexer no código!
perfect
tkss

De nada… qlqr duvida pode encaminha direto pelo e-mail…

abraco.