Usuário com melhor resposta
PROCV em Várias Linhas. Tem como?

Pergunta
-
Bom Dia!
Galera é o seguinte, eu tenho aqui uma planilha que uso como banco de dados para um CONTRATO de VENDAS DE MOTOS...
Toda vez que alguem compra uma moto financiada, eu preencho os dados do Cliente, da moto e da forma de pagamento nessa planilha.
O que eu to querendo na verdade é criar uma segunda planilha e nela cadastrar todas as motos que tem aqui na loja e quando eu for fazer o contrato a formula PROCV busque as informações da moto com base na PLACA que será informada...
Vou exemplificar...
Na plan1 eu tenho
A1 = MARCA/MODELO => HONDA CG 125 FAN (Aqui resultado da busca da PROCV na Plan2)
B1 = COR => VERMELHA (Aqui resultado da busca da PROCV na Plan2)
C1 = ANO FAB. => 2000 (Aqui resultado da busca da PROCV na Plan2)
D1 = ANO MOD. => 2000 (Aqui resultado da busca da PROCV na Plan2)
E1 = PLACA =>ASD4567 (Aqui eu informo a placa e o restante fosse resultado dessa busca da procv
F1 = RENAVAN => 904612999 (Aqui resultado da busca da PROCV na Plan2)
G1 = CHASSI => 9C2JC30707R054444 (Aqui resultado da busca da PROCV na Plan2)
Base de dados
Na plan2 eu tenho esse dados cadastrados
A1 = MARCA/MODELO => HONDA CG 125 FAN
B1 = COR => VERMELHA
C1 = ANO FAB. => 2000
D1 = ANO MOD. => 2000
E1 = PLACA =>ASD4567
F1 = RENAVAN => 904612999
G1 = CHASSI => 9C2JC30707R054444
Não sei se dá para entender, mas o que eu quero é simples: Ao informar a placa no campo placa na plan1, a PROCV buscasse o restante dos dados na plan2.
Eu até consegui fazer isso, mas quando faço em outra linha, como a linha 2 por exemplo, já não presta mais....
Respostas
-
Kairton,
primeiramente, por boa prática, coloque o valor de referência na primeira coluna da tabela, se o caso for a placa.
muito provavelmente, seu erro no PROCV se dá porque você não está "amarrando" a matriz onde os dados estão contidos.
PROCV(celula_busca, "E1:G10", 1 , 0)
use assim:
PROCV(celula_busca, "$E$1:$G$10", 1 , 0)
dessa forma, quando você copiar a fórmula para baixo, a matriz continuará a mesma.
Natan
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator terça-feira, 9 de dezembro de 2014 23:16
Todas as Respostas
-
Kairton,
primeiramente, por boa prática, coloque o valor de referência na primeira coluna da tabela, se o caso for a placa.
muito provavelmente, seu erro no PROCV se dá porque você não está "amarrando" a matriz onde os dados estão contidos.
PROCV(celula_busca, "E1:G10", 1 , 0)
use assim:
PROCV(celula_busca, "$E$1:$G$10", 1 , 0)
dessa forma, quando você copiar a fórmula para baixo, a matriz continuará a mesma.
Natan
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator terça-feira, 9 de dezembro de 2014 23:16
-
-
-
-
-
K. Alexandre, bom dia.
Se conseguires associar um botão de busca na folha, penso que consegues os resultados pretendidos com mais facilidade, associando este código ao botão, efetuando as devidas alterações em função da tua folha.
Dim address As Variant Dim CERTAF As Range Dim RangRow As Range Set CERTAF = Range("A2:A26") For Each RangRow In CERTAF.Rows If RangRow.Cells(1, 1) = ComboBox1_CERTIFICADOS.Value Then address = RangRow.Cells(1, 1) RangRow.Cells(1, 1).Select MsgBox " CERTIFICADO ENCONTRADO NA CELULA - - - - - - " & Selection.address _ & vbLf & " - - REGISTO SUBSTITUÍDO COM SUCESSO, NA CÉLULA - - " _ & RangRow.Cells(1, 6).address RangRow.Cells(1, 6).Value = TextBox1_UNITARIO.Value
'Aqui incrementas em 1 a coluna cujos dados devem ser apresentados. 'No meu caso altera a célula da coluna 6 na mesma linha cujo valor foi procurado.
Exit For End If Next
Não sou perito em VBA nem em Ecel, mas nas minhas folhas funciona na perfeição mostrando tudo o que preciso.
Depois de efetuada a busca pela matrícula, e só acrecentar linhas deslocando o foco e tudo te é apresentado como queres e na folha que queres.
Experimenta.
Cumprimentos
M_A_L
M_A_L
-
-
-