Obtener los Numeros de Fila en una busqueda.

09/03/2009 - 10:59 por De_Corando. | Informe spam
Al grabar un MACRO al aplicar la funcion BUSCAR, le aplique un
USERFORM que contiene los
encabezados de una lista telefonica.
Al poner un texto o numero, en una celda (C3) y hacer click al boton
"BUSCAR", empieza la busqueda y me carga o muestra el USERFORM. Los
codigos de ese USERFORM, en cuanto a como poner los datos en el, ya lo
tengo arreglado, lo que me falta o necesito es obtener el Numero de la
fila o renglon donde esta posesionado el cursor o celda activa cuando
se esta realizando la busqueda, para obtener la informacion de la fila
y ser mostrada en la forma.
No deseo usar los AutoFiltros, por querer hacerlo mas personal.

El codigo usado y obtenido gravando la busqueda en MACRO es
Sub BUSCA()
Cells.Find(What:=Sheets("TELEFONOS").Range("C3"), After:=ActiveCell,
LookIn:=xlFormulas,
LookAt _:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext,
MatchCase:= _False,
SearchFormat:=False).Activate
Cells.FindNext(After:=ActiveCell).Activate
Cells.FindNext

y luego la informacion para pasar los datos al USERFORM.

Envio el ejemplo practico por si se pasa algun detalle.
Descargar de este enlace:

http://www.box.net/shared/bqa6c2cx1f

Se que puedo aprender mas.

De antemano agradezco sus atenciones.
Corando.

Preguntas similare

Leer las respuestas

#1 Pedro F. Pardo
09/03/2009 - 12:18 | Informe spam
On Mar 9, 9:59 am, "De_Corando." wrote:
Mostrar la cita
Perdón, no he entendido muy bien el propósito, pero si lo que
necesitas es
el número de la fila donde está la celda activa, es tan sencillo como
esto:

NUM = ActiveCell.Row
#2 De_Corando.
09/03/2009 - 22:00 | Informe spam
Gracias Pedro !!

Francamente ya habia usado ese codigo, pero desconozco el porque
fallo, no daba ningun resultado, algun mal detalle por alli, en fin,
lo importante es que ya quedo funcionando bien.
Mil gracias.
Ahora cambie el codigo anterior por este:

Dim rngC As Range
Set rngC = ActiveSheet.Cells.Find( _
What:=Worksheets("TELEFONOS").Range("C3"), _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not rngC Is Nothing Then rngC.Offset(0, 2).Select

Set rngC = Nothing.

ya queda actualizado el archivo del enlace anterior
Repito: mil gracias por su cooperacion.
#3 De_Corando.
10/03/2009 - 00:35 | Informe spam
Hola foristas !!
Revisando el codigo anterior, funciona muy bien buscando textos, pero
al buscar numeros no funciona bien, solo me da un resultado y se
detiene la busqueda.
Causa, razon o motivo?
Alguien me puede comentar algo?
Gracias.
#4 Héctor Miguel
10/03/2009 - 01:16 | Informe spam
hola, Corando !

Mostrar la cita
1) cambia (y prueba alternando los cambios) en el metodo .Find lo siguiente:
xlPart <-> xlWhole
xlFormulas <-> xlValues (OJO: xlFormulas podria resultar en una busqueda mas... "tardadita") -?-

2) tu codigo original (aparentemente) "se estaciona" en el tercer valor (luego de 2 busquedas previas/anteriores)
(pregunta:) que pasa si NO has dos (o mas) coincidencias del valor buscado -???-

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
#5 De_Corando.
10/03/2009 - 02:35 | Informe spam
Buenas Noches Hector Miguel.
un cordial saludo

Hice los cambios y persiste el problemita.
Ademas veo un gran detalle. La columna "A" esta en blanco,"B" es
numero consecutivo de la lista, "C" Nombre y "D" Apellidos, "E", "F",
etc son numeros, la "O" y "P", pueden contener numeros o textos,.
Cuando busca en "C" y "D", no hay problemas, pero ya cuando se
encuentra fuera de ese rango, es cuando se "estaciona" por mas click
que le doy.
Donde el dato a buscar esta en "C3", arriba de los encabezados (fila
4 de las columnas)

Agradezco tu interes en el problemita.
Ads by Google
Search Busqueda sugerida