Buscar texto

20/02/2005 - 02:03 por pepefras | Informe spam
Buenas noches
¿Se podría abrir un cuadro de dialogo para buscar parte del nombre de un
cliente (como texto, claro) en un rango por ejemplo B:B y en el caso que lo
encuentre al aceptar la coincidencia tomara el código de la columna A en es
posición de fila?.. entonces haria BuscarV, etc.
Gracias y saludos
Pepe Frasquet
 

Leer las respuestas

#1 Héctor Miguel
20/02/2005 - 06:45 | Informe spam
hola, pepe !

... un cuadro de dialogo para buscar parte del nombre... en un rango por ejemplo B:B
... caso que lo encuentre al aceptar... tomara el codigo de... A en esa posicion de fila?
... entonces haria BuscarV, etc.



op1: usa una validacion [por lista] en la celda donde se buscaria el nombre
[obviamente] el origen seria el rango con los nombres
-> combina indice() y coincidir() para 'rescatar' [hacia la izquierda] el codigo en 'A:A'
[p.e.] suponiendo que la validacion esta en 'G2' -> =indice(a:a,coincidir(g2,b:b,0))
-> podrias usar las funciones de buscarv de manera 'directa' para el resto de los datos
op2: si lo requieres por macros... un ejemplo al final
sustituye la linea que dice... MsgBox "Proceso en proceso..." por las acciones de la macro ;)

saludos,
hector.
== en un modulo de codigo 'normal' ==Sub BuscarCodigoCliente()
Dim Celda As Range, Fila As Long, Nombre As String, Codigo
Nombre = Trim(InputBox("Indica [parte de.. o...] el nombre a buscar..."))
If Nombre <> "" Then
On Error Resume Next
Set Celda = Range("b:b").Find(What:=Nombre, LookIn:=xlValues, LookAt:=xlPart)
If Not Celda Is Nothing Then
Fila = Celda.Row
Codigo = Range("a" & Fila)
Nombre = Celda
Set Celda = Nothing
If MsgBox("El código es: " & Codigo & vbCr & _
"encontrado en: " & Range("a" & Fila).Address & vbCr & _
"corresponde a: " & Nombre & vbCr & "¿Continuar el proceso?...", _
vbYesNo + vbQuestion) = vbYes Then
MsgBox "Proceso en proceso..."
End If
End If
End If
End Sub

Preguntas similares