Tengo una duda sobre este código
Estoy haciendo un código en el cual es como un buscarv en una cadena de texto es decir
si tengo mis valor así : A1: México | brasil | alemania
A2: SUECIA | BELGICA | HOLANDA | PARIS
A3 : MEXICO
Entonces me buscar de un catalogo un valor y me lo da por cada | (22,000 | 2145| 345 etc...
este es mi codigo :
Sub buscar()
ultlinea = Sheets("REGULACION").Range("AY" & rows.count).End(xlUp).row
Set rango = Sheets("CATALOGOS").Range("BE4:BF310")
For cont = 2 To ultlinea 'verificar
info = Sheets("REGULACION").Cells(cont, 51)
codigo = Split(info, "|")
longA = UBound(codigo)
For i = 0 To longA
dato = dato
buscarv = Application.VLookup(codigo(i), rango, 2, False)
If IsError(buscarv) Then
buscarv = " "
End If
'Sheets ("REGULACION") .Cells (cont, 52)
dato = buscarv & "|" & dato
Next i
k = Len(dato)
dato = Mid(dato, 1, k - 2)
Sheets("REGULACION").Cells(cont, 52) = dato
Next cont
End Sub
Lo que noto es que tiene error cuando hace los ciclos. Ejemplo el primer ciclo me da el resultado esperado pero cuando pasa al siguiente next count me trae el valor del siguiente ciclo más el valor del primer ciclo no cierra el ciclo del anterior y así sucesivamente. Me podrían ayudar a corregirlo de favor :)