una - ordenar datos en excel automaticamente
VBA Excel ordena el rango por columna específica (3)
O esto:
Range("A2", Range("D" & Rows.Count).End(xlUp).Address).Sort Key1:=[b3], _
Order1:=xlAscending, Header:=xlYes
Tengo una tabla que puede contener cualquier cantidad de filas:
Como dije, puede contener 1 o ∞ filas.
Quiero ordenar el rango A3: D∞ por la celda Fecha que está en la columna B. ¿Cómo puedo hacerlo?
El problema es que no sé cómo seleccionar desde A3 hasta la última fila.
Creo que ir a la última fila no es un método correcto.
Lo tengo hasta ahora, parece que está correcto, pero el rango está codificado. ¿Cómo me deshago de la codificación del rango?
Range("A3:D8").Sort key1:=Range("B3:B8"), _
order1:=xlAscending, Header:=xlNo
Prueba este código:
Dim lastrow As Long
lastrow = Cells(Rows.Count, 2).End(xlUp).Row
Range("A3:D" & lastrow).Sort key1:=Range("B3:B" & lastrow), _
order1:=xlAscending, Header:=xlNo
Si la celda inicial del rango y de la clave es estática, la solución puede ser muy simple:
Range("A3").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Sort key1:=Range("B3", Range("B3").End(xlDown)), _
order1:=xlAscending, Header:=xlNo