@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.
Postado : 04/01/2022 8:37 am