Rango dinámico en una macro

27/09/2007 - 19:47 por César Nieves | Informe spam
Hola !!

Tengo mucho tiempo fuera de este grupo de noticias, hace algunos años
pude compartir algunas experiencias con los miembros. Saludos !!

En esta oportunidad tengo una duda a ver si alguien me puede ayudar.

En esta pequeña macro:
Sub Agrupar_Antiguedad()
Columns("S:S").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("S1").FormulaR1C1 = "antigüedad"
Range("S2").FormulaR1C1 = _

"=IF(ISBLANK(RC[-1]),"""",IF(VALUE(RC[-1])<,""15"",IF(VALUE(RC[-1])<0,""30"",IF(VALUE(RC[-1])<`,""60"",IF(VALUE(RC[-1])<,""90"","">90"")))))"
Range("S2").Select
Selection.AutoFill Destination:=Range("S2:S70")
End Sub

Quiero saber al momento de crear el rango, que no sea hasta la fila 70
(Range("S2:S70") sino que sea hasta la ultima fila que tiene datos,
debido que el archivo puede creer en numero de filas indiscriminadamente.

Agradeciendo el apoyo que me puedan brindar

Saludos
César
 

Leer las respuestas

#1 Juan M
28/09/2007 - 20:05 | Informe spam
"César Nieves" escribió en el mensaje
news:eU%
Hola !!

Tengo mucho tiempo fuera de este grupo de noticias, hace algunos años pude
compartir algunas experiencias con los miembros. Saludos !!

En esta oportunidad tengo una duda a ver si alguien me puede ayudar.

En esta pequeña macro:
Sub Agrupar_Antiguedad()
Columns("S:S").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("S1").FormulaR1C1 = "antigüedad"
Range("S2").FormulaR1C1 = _

"=IF(ISBLANK(RC[-1]),"""",IF(VALUE(RC[-1])<,""15"",IF(VALUE(RC[-1])<0,""30"",IF(VALUE(RC[-1])<`,""60"",IF(VALUE(RC[-1])<,""90"","">90"")))))"
Range("S2").Select
Selection.AutoFill Destination:=Range("S2:S70")
End Sub

Quiero saber al momento de crear el rango, que no sea hasta la fila 70
(Range("S2:S70") sino que sea hasta la ultima fila que tiene datos, debido
que el archivo puede creer en numero de filas indiscriminadamente.

Agradeciendo el apoyo que me puedan brindar

Saludos
César



Hola César,

Si tienes la columna R con los datos hasta la 70 o más prueba a cambiar esta
línea

Selection.AutoFill Destination:=Range("S2:S70")

por

Range("S2")..AutoFill Destination:= Range("S2:S" & Range("R" &
Rows.Count).End(xlUp).Row)
(en una línea)

En un porcentaje muy alto de veces, no es necesario seleccionar las celdas,
rangos,... para referirse a ellos.

Un saludo,
Juan

Preguntas similares