Página 1 de 1

Lista suspensa com VBA (substituição de resultado na mesma célula)

Enviado: Qui Ago 15, 2019 4:19 pm
por DIAS3JR
Boa tarde a todos.

Arquivo com 2 planilhas:

Na primeira planilha "Gestão", na célula A3 tenho uma validação de dados que busca uma lista de opções com nomes de contas na planilha "Itens", intervalo D2:D100;
Neste caso, uma simples validação de dados faz este trabalho;
Porém, ao selecionar a conta desejada, preciso que a VBA substitua o nome da conta pelo código da respectiva conta que fica na planilha "Itens", intervalo C2:C100;

No código abaixo, consegui fazer isso apenas para célula A3 e preciso extender de A3:A20 (ou mais...)

Exemplo: quando eu for na célula A3 da planilha GESTÃO, através da validação de dados, vou escolher a conta COMBUSTÍVEL. Porém desejo que o código VBA substitua o resultado "COMBUSTÍVEL" pelo seu respectivo código, que seria 800. Seleciono a conta COMBUSTIVEL em A3 e retorna o código 800 na célula A3... no arquivo original que tenho já consegui chegar neste resultado, mas não consigo estender o código de A3 até A20.


Private Sub Worksheet_Change(ByVal Target As Range)
Dim PL1, PL2 As Worksheet
Set PL1 = Sheets("Gestão")
Set PL2 = Sheets("Itens")
Cont = PL2.Cells(Rows.Count, "A").End(xlUp).Row
For x = 2 To Cont
If PL1.Range("A3") = PL2.Cells(x, "A") Then
PL1.Range("A3") = PL2.Cells(x, "B")
End If
Next
End Sub


A não ser que tenha outra forma de fazer isso...
Seleciono a conta pela validação de dados e a vba substitui pelo código (como se fosse um procv, porém na mesma célula)
Obrigado!

Re: Lista suspensa com VBA (substituição de resultado na mesma célula)

Enviado: Sex Ago 16, 2019 5:07 pm
por DIAS3JR
Anexo um link para acessar o arquivo para facilitar.

https://www.sendspace.com/file/04b1d0