Para establecer un orden en una tabla de Excel se utiliza el comando SORT. Hay que hacer referencia al rango de toda la tabla e indicar el campo por el que queremos hacer el ordenamiento.
Un ejemplo sería el siguiente:
VB
Private Sub CommandButton1_Click()
'ordenamos ascendentemente por los valores de la columna:E
'La fila 10 es encabezado (Header:=xlYes)
Range("D10:E22").Sort Key1:=Range("E10"), Header:=xlYes, order1:=xlAscending
End Sub
Si queremos ordenar una tabla que esté presente en una hoja diferente a la actual, podemos cometer el error de no referenciar la hoja cada vez que indicamos el rango:
VB
Private Sub CommandButton1_Click()
'ordenamos ascendentemente por los valores de la columna:E
'La fila 10 es encabezado
'Hacemos referencia, siempre, a la hoja donde queremos ordenar
Worksheets("OtraHoja").Range("D10:E22").Sort Key1:=Worksheets("OtraHoja").Range("E10"), Header:=xlYes, order1:=xlAscending
End Sub
Deja una respuesta