Saltar al contenido

Recommended Posts

publicado

Hola a todos:

Aunque se ha contestado a esta cuestión un montón de veces, y como parece que la gente no se entera, porqué siguen preguntando lo mismo una y otra vez, a ver si tenemos mas suerte y se fijan en esta función.

Function Buscar(Valor As Variant, _
Optional Columna As Integer = 1, _
Optional Hoja As Worksheet) As Double
On Error GoTo NotFound
If Hoja Is Nothing Then Set Hoja = ActiveSheet
Hoja.Activate
Columns(Columna).Find(Valor).Select
Buscar = Selection.Row
Exit Function
NotFound:
Buscar = 0
End Function
[/CODE]

Esta función, busca un valor en una columna, de cualquier hoja, de cualquier libro.

Si encuentra el valor, devuelve el número de fila, si no lo encuentra, devuelve 0.

Consta de tres parámetros:

[CODE]
Valor El valor a buscar Obligatorio
Columna Columna en donde buscar Opcional Se asume 1
Hoja Hoja donde buscar Opcional Se asume ActiveSheet

La forma de llamada es:
Fila = Buscar(Valor, Columna, Hoja)[/CODE]

Ejemplos:

Busca "Antoni" en la columna 1 de la hoja activa

[CODE]Fila = Buscar("Antoni")[/CODE]

Busca "Antoni" en la columna 3 de la hoja activa

[CODE]Fila = Buscar("Antoni", 3)[/CODE]

Busca "Antoni" en la columna 3 de la hoja "Proveedores"

[CODE]Set MiHoja = ThisworkBook.Sheets("Proveedores")
Fila = Buscar("Antoni", 3, MiHoja)[/CODE]

Busca "Antoni" en la columna 3 de la hoja "Proveedores", en el libro Cuentas.xls

[CODE]Set MiHoja = WorkBooks("Cuentas.xls").Sheets("Proveedores")
Fila = Buscar("Antoni", 3, MiHoja)[/CODE]

A tener en cuenta: Si se informa el parámetro Hoja, cambia la hoja activa.

Saludos a todos. Antoni.

publicado

Hola Gerson:

Efectivamente, hay un error, no se como ha pasado, porqué lo probé mucho, pero ha pasado.

Queda así:

Function Buscar(Valor As Variant, _
Optional Columna As Integer = 1, _
Optional Hoja As Worksheet) As Double
On Error GoTo NotFound
If Hoja Is Nothing Then Set Hoja = ActiveSheet
Hoja.Activate
Hoja.Columns(Columna).Find(Valor).Select '<============================
Buscar = Selection.Row
Exit Function
NotFound:
Buscar = 0
End Function[/CODE]

De todas formas, en el adjunto, van todos los ejemplos.

Abrir Libro1.xls para verlos.

Gracias Gerson. Saludos. Antoni.

Libro1.zip

Conéctate para comentar

Podrás dejar un comentario después de conectarte



Conéctate ahora
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.