Ver Mensaje Individual
  #6 (permalink)  
Antiguo 24/10/2006, 12:49
Avatar de 3pies
3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 5 meses
Puntos: 144
Bueno, pues entre mis dos respuestas anteriores, haré un mix, porque sigo sin tenerlo claro del todo (hoy estoy espeso).

Antes de nada, decirte que sería conveniente que como primera línea de cada macro, pusieras esto:

Código:
Application.ScreenUpdating = False
Así no se ve en pantalla la ejecución del macro (ese movimiento de pantalla que parece volver a uno loco), aparte de que poniendo esa línea, se ejecuta más rápidamente el macro.

Antes de finalizar el procedimiento (la linea antes del end sub), pones esto, para dejarlo como estaba:
Código:
Application.ScreenUpdating = True
Ahora lo que preguntabas. Este código te pone el número de fila en la primera celda vacía que encuentre. Puedes utilizar la variable "celda" para lo que quieras, porque ahí tienes el número de la fila:
Código:
'Que no se pare de buscar, hasta que no encuentre una fila vacía
Do While Not IsEmpty(ActiveCell.Offset(0, 0))
    ActiveCell.Offset(1, 0).Select
Loop
'ahora que estaremos parados en la celda vacía,
'sacamos la dirección de la celda
direccion = ActiveCell.Address
'como tenemos una referencia absoluta, del tipo $A$33
'le quitamos el primer signo del $ para que nos quede A$33
direccion = Mid(direccion, 2)
'creamos un vector con 2 elementos que estarán separados por el símbolo
'del $. Uno será la "A" y otro el "33" (suponiendo que estemos en A33)
dato = Split(direccion, "$")
'nos quedamos con el segundo elemento del vector (empieza por cero)
celda = dato(1)
ActiveCell = celda
Salu2