21/07/2010, 16:16
|
| | Fecha de Ingreso: julio-2010
Mensajes: 9
Antigüedad: 14 años, 5 meses Puntos: 0 | |
Excel con vbasic necesito saber como capturar el numero de fila en el que se encuentra el cursor.
tengo un problema con una macro, estoy haciendo una busqueda de celdas que contengan el numero 2 por dar un ejemplo, y colocarlas a un lado cada una de estas celdas.
En esta macro doy un rango de a1 a a10 y busco el valor 2 todo va bien pero si el numero 2 se repite, la macro termina y es que comparo el valor inicial de la busqueda con cada busqueda siguiente y si son iguales termina, funciona si dentro de mi rango no hay dos veces el numero 2. Me parece que si pudiera saber cual es el numero de fila de la primera celda que encuentra podria validarlo y hacer que termine si vuelve a pasar por esta fila pero no encuentro como capturar el numero de fila activo en una variable.
Les dejo mi macro para ver si alguien puede ayudar. En la hoja 1 escriban los siguientes numeros desde la fila 1 hasta la fila 10: "5, 32, 25, 15, 2, 1, 8, 26, 9, 4". En la celda "H2" y "H3" escriban cualquier cosa para que funcione la referencia relativa al momento de hacer la copia. Como verán funciona, ha copiado "32,25,2,26", ahora cambien el valor 15 por 32, no funciona, solo copia 32 y 25.
Ojala puedan ayudarme con este problemita, gracias.
' defino el objeto c para q almacene la coincidencia
Set c = Hoja1.Range("a1:a10").Find(2, LookIn:=xlValues)
' si no hay coincidencia no hace nada
If c Is Nothing Then
Else
'guardo el primer valor de la coincidencia
aux = c.Value
'entra en loop para hacer las copias
Do
c.Select
Selection.Copy
Range("H2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
'entraga el nuevo valor encontrado a c
Set c = Hoja1.Range("a1:a10").FindNext(c)
'compara si este nuevo valor es la primera coincidencia
If aux = c.Value Then
Exit Do
End If
Loop
End If |