Rango variable para ordenar
Me he tropezado con un nuevo problema. Como sabes utilizo excel 2007 y con esta versión se puede autofiltrar por colores, cosa que es fundamental en el libro que estoy creando. El problema es que al compartir el libro me he dado cuenta que ha desaparecido la opción de autofiltrar por colores.
Para solucionarlo quiero hacer una macro que me ordene por colores, el problema es que el rango a ordenar es variable, siempre empieza en A8 y para saber en que fila termina hay que ver la ultima celda escrita de la columna F y es en la columna J de esta fila donde termina.
He hecho el código con la grabadora, pero no se como indicar el rango variable
Range("A8:J33").Select
ActiveWorkbook. Worksheets("Proformas"). Sort. SortFields. Clear
ActiveWorkbook. Worksheets("Proformas"). Sort. SortFields.Add(Range("E9:E33"), _
xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = RGB(0, 176 _
, 240)
With ActiveWorkbook.Worksheets("Proformas").Sort
.SetRange Range("A8:J33")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("D10").Select
End Su
Disculpa mi abuso con tanta pregunta frecuente, pero intento realizar un libro excel bastante grande y cuando soluciono un problema, me encuentro con otro y así llevo semanas...
Para solucionarlo quiero hacer una macro que me ordene por colores, el problema es que el rango a ordenar es variable, siempre empieza en A8 y para saber en que fila termina hay que ver la ultima celda escrita de la columna F y es en la columna J de esta fila donde termina.
He hecho el código con la grabadora, pero no se como indicar el rango variable
Range("A8:J33").Select
ActiveWorkbook. Worksheets("Proformas"). Sort. SortFields. Clear
ActiveWorkbook. Worksheets("Proformas"). Sort. SortFields.Add(Range("E9:E33"), _
xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = RGB(0, 176 _
, 240)
With ActiveWorkbook.Worksheets("Proformas").Sort
.SetRange Range("A8:J33")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("D10").Select
End Su
Disculpa mi abuso con tanta pregunta frecuente, pero intento realizar un libro excel bastante grande y cuando soluciono un problema, me encuentro con otro y así llevo semanas...
1 Respuesta
Respuesta de Juan Carlos González Chavarría
1