02/03/2011, 11:49
|
| | Fecha de Ingreso: marzo-2011
Mensajes: 3
Antigüedad: 13 años, 9 meses Puntos: 0 | |
Respuesta: Problemas para crear funcion con el metodo FIND Tienes razon mrcf con respecto al LOOP, esta mal ubicado una linea de comando, asi que paso la correccion y ademas lo pongo como PROCEDIMIENTO el mismo funciona sin ningun problema:
Sub BuscarVal()
ValorBuscado = "*Roller*"
Matriz = Worksheets("Hoja1").Range("A1:Z100")
Posicion = 4
'****************************
Cont = 1
With Worksheets("Hoja1").Range("A1:Z100")
Set c = .Find(ValorBuscado, LookIn:=xlValues)
If Not c Is Nothing Then
Do
FirstAddress = c.Address
If Cont = Posicion Then
Fil = c.Row
Col = c.Column
ValBus = .Cells(Fil, Col).Value
Else
Cont = Cont + 1
Set c = .FindNext(c) '<- En este punto pierde la informacion y se sale
End If
Loop While Not c Is Nothing And c.Address <> FirstAddress
End If
End With
End Sub
'***********************
Ahora bien si lo pasan el mismo como funcion o lo dejan como procedimiento ó lo llaman desde una funcion por algun razon que no entiendo no funciona salvo que Posicion=1, en la linea de comando: Set c = .FindNext(c) se pierde y sale de la interaccion.
El objetivo de la misma es que me devuelva un valor en base a una consulta en la que inclusive puedo añadir que columna deseo obtener una ves que identifique la fila en el que se encuntra el dato buscado. |