Notifications
Clear all

[Resolvido] Busca Responsável em Coluna Conforme Tabela


pedrobb
Posts: 25
Registered
Topic starter
(@pedrobb)
Eminent Member
Entrou: 3 anos atrás

Na Planilha anexa, preciso retornar o responsável automaticamente na Coluna P, se qualquer Dado da Coluna O estiver na tabela Q1:T4.

Pra facilitar o entendimento, eu preenchi manualmente a coluna P.

Responder
Tags do Tópico
15 Respostas
pedrobb
Posts: 25
Registered
Topic starter
(@pedrobb)
Eminent Member
Entrou: 3 anos atrás

Segue novo anexo.

Talvez a tabela fique melhor assim:

Responsável Id CPF Apelido
Pedro 8997785 12345678900 PEDRO
Zezinho 9977944 98765432100 ZEZINHO
Geraldo 8859838 7263600777 GERALDO
Zezito 9857486 46956998800 ZEZITO
Responder
6 Respostas
cleiton jm
Registered
(@cleiton-jm)
Entrou: 10 anos atrás

Estimable Member
Posts: 115

@pedrobb Eu fiz um modelo aqui usando seu raciocínio.

Att

Responder
pedrobb
Registered
(@pedrobb)
Entrou: 3 anos atrás

Eminent Member
Posts: 25

@cleiton-jm 

Muito obrigado pela atenção! Você fez a solução por VBA. Valeu!!!!

Há um probleminha. Se um dos responsáveis não tiver o Apelido, ou CPF, ou ID, ou seja, a célula estiver vazia, dá conflito.

Dá pra corrigir?

 

Grato,

Pedro

Responder
cleiton jm
Registered
(@cleiton-jm)
Entrou: 10 anos atrás

Estimable Member
Posts: 115

@pedrobb Correção feita!!

Responder
pedrobb
Registered
(@pedrobb)
Entrou: 3 anos atrás

Eminent Member
Posts: 25

@cleiton-jm 

Grato pela atenção!

Não funcionou. Eu limpei a célula T3 e cliquei em Iniciar, mas o Nome do Responsável permaneceu em P3.

Responder
cleiton jm
Registered
(@cleiton-jm)
Entrou: 10 anos atrás

Estimable Member
Posts: 115

@pedrobb 

Eu estava considerando como base de critério também a coluna Q, ou seja, se os nomes na coluna Q existir na coluna P eu validava também. O que eu fiz foi reduzir o número de colunas que era assim: "For icol = 17 To 20" e ficou assim "For icol = 18 To 20", excluindo assim a coluna Q da base de critérios.

Sub Iniciar()

Dim ultrow, TbUltRow As Long
Dim letras, x, irow, icol As Long
Dim Dados, registro As String

ultrow = Cells(Cells.Rows.Count, "O").End(xlUp).Row
TbUltRow = Cells(Cells.Rows.Count, "Q").End(xlUp).Row
Range("P2:P100").ClearContents

For x = 2 To ultrow
Dados = Cells(x, 15).Value
registro = ""

For irow = 2 To TbUltRow

For icol = 18 To 20
registro = Cells(irow, icol).Value

If InStr(1, Dados, registro, vbTextCompare) > 0 And registro <> "" Then
Cells(x, 16).Value = Cells(irow, 17).Value
Exit For
End If

Next icol

Next irow
Next x

MsgBox ("Fim")
End Sub

________________________________

Editado pela Moderação. Motivo: Procure utilizar o botão Código (< >) sempre que for inserir código VBA ou Fórmulas.

 

Responder
pedrobb
Registered
(@pedrobb)
Entrou: 3 anos atrás

Eminent Member
Posts: 25

@cleiton-jm 

Sensacional!

Show de Bola!

Muito Obrigado!!!!!!!!!!!!!!!!!!!!!!!

 

 

Responder
deciog
Posts: 852
Registered
(@deciog)
Prominent Member
Entrou: 6 anos atrás

 pedrobb, Bom Dia.

 

Demorei mas achei uma solução por formula confere

Se foi útil, clique na mãozinha Curtir é a forma de agradecimento

Decio

Responder
7 Respostas
pedrobb
Registered
(@pedrobb)
Entrou: 3 anos atrás

Eminent Member
Posts: 25

@deciog 

Decio,

Grato pela atenção!

Percebi 2 coisas:

a) a Linha 8 tá com retorno errado,

b) dá erro se alguma célula do intervalo estiver vazia.

Vide anexo.

Grato,

Pedro

 

Responder
deciog
Registered
(@deciog)
Entrou: 6 anos atrás

Prominent Member
Posts: 852

@pedrobb , Bom Dia.

Ops, não tinha visto isso, corrigi confere

Se foi útil, clique na mãozinha Curtir é a forma de agradecimento

Decio

Responder
pedrobb
Registered
(@pedrobb)
Entrou: 3 anos atrás

Eminent Member
Posts: 25

@deciog 

Novamente obrigado pela atenção!

Se algum responsável Não Informar o CPF, ou o ID, ou o Apelido, continua dando erro na sua fórmula. 

Ou seja, pode acontecer de célula do Intervalo R2:T5 ficar vazia.

Agradeço se puder verificar.

Responder
deciog
Registered
(@deciog)
Entrou: 6 anos atrás

Prominent Member
Posts: 852

@pedrobb 

Acho que agora ficou certo confere e de retorno

Abraços

Decio

Responder
pedrobb
Registered
(@pedrobb)
Entrou: 3 anos atrás

Eminent Member
Posts: 25

@deciog

Aí Sim!

Ficou perfeito. Muito obrigado a Você e ao Cleiton jm.

Segue anexa a planilha com as Opções por VBA e por Fórmula.

Responder
EdsonBR
Moderator
(@edsonbr)
Entrou: 6 anos atrás

Prominent Member
Posts: 913

@pedrobb, bom dia!

Como um estímulo a mais a quem colaborou respondendo às dúvidas, além do agradecimento textual, procure também fazê-lo clicando no ícone da mãozinha na ou nas respostas que foram úteis! Aqui no Planilhando, isso não traz nenhum débito ou consequência negativa ao membro (diferentemente do S.O., por exemplo).

Responder
pedrobb
Registered
(@pedrobb)
Entrou: 3 anos atrás

Eminent Member
Posts: 25

@edsonbr 

Feito.

Responder