Página 1 de 1

Preciso de ajuda

Enviado: 26 Dez 2021 às 22:19
por Odin107
Boa noite!

Gostaria de criar uma macro para cada clique no botão, mudar o valor de uma célula específica.
Exemplo tenho os dados nas células A1 até A5, e usando uma validação de dados pego esses valores pra usar na célula D1, e a partir da célula D1 uso a lista suspensa pra trazer o argumento valor procurado de uma procv.
Eu uso essa validação de dados pra mandar relatórios diários e toda a vez tenho que abrir a lista suspensa e escolher o próximo valor, assim por diante. E isso acaba sendo mais demorado.
Gostaria de ajuda, pra fazer uma macro para cada clique no botão, trazer o próximo valor da lista supensa para a célula D1. Tipo a célula D1, está recebendo o primeiro valor da lista supensa (A1), quando clicar no botão, traz o próximo valor (A2), assim por diante até chegar no último valor da lista, daí neste quando chegar no último valor, para a macro e mesmo que clicar no botão continuar trazendo o último valor.

Se alguém saber como fazer e puder me ajudar, fico agradecido! :D

Re: Preciso de ajuda

Enviado: 27 Dez 2021 às 09:06
por osvaldomp
Olá,@Odin107 .
Odin107 escreveu: 26 Dez 2021 às 22:19
Eu uso essa validação de dados pra mandar relatórios diários e toda a vez tenho que abrir a lista suspensa e escolher o próximo valor, assim por diante. E isso acaba sendo mais demorado.
Se for de seu interesse pode-se elaborar uma macro pra fazer tudo o que você precisa de uma vez.
Assim, a macro irá replicar cada um dos valores de A1:A5 em D1, e para cada valor replicado a macro poderá efetuar outras operações, como imprimir, enviar planilha por email, salvar, ...

Gostaria de ajuda, pra fazer uma macro para cada clique no botão, trazer o próximo valor da lista supensa para a célula D1.
Experimente o código abaixo.
#
Código: Selecionar todos
Sub Teste()
 [D1] = IIf([D1] = [A5], [D1], Cells(Evaluate("=IFERROR(MATCH(D1,A1:A5,0),0)") + 1, 1))
End Sub

Re: Preciso de ajuda

Enviado: 29 Dez 2021 às 19:33
por Odin107
@osvaldomp

Obrigado funciona perfeitamente como precisava. Só mais uma dúvida, na planilha que eu uso pra relatório, esses dados que usei como exemplo de A1:A5, estão em outra planilha, na mesma pasta de trabalho. Como faço pra referenciar que está em outra planilha dentro do VBA.
No Excel sei que é o nome da planilha mais exclamação, aqui já não sei como fazer. Se puder me ajudar, fico agradecido!

Re: Preciso de ajuda

Enviado: 29 Dez 2021 às 20:25
por osvaldomp
Experimente:
Código: Selecionar todos
[D1] = IIf([D1] = Sheets("Plan2").[A5], [D1], Cells(Evaluate("=IFERROR(MATCH(D1,Plan2!A1:A5,0),0)") + 1, 1))