Stack Overflow en español Asked by vanmon on December 28, 2021
Estoy intentando ordenar datos como de forma descendente por fila pero que respete los nombres de las columnas para mostrar primero la columna con el valor más alto en el primer mes, y así sucesivamente con todas las lineas de mes. ya se que la primera prevalece.
Es lo que se hace de forma manual eligiendo la opcion ordenar de izquierda a derecha y ordenando por filas en excel.
Este código (que no es mío) lo hace pero ignora totalmente las columnas, sólo atiende a las lineas y mezcla los datos de todas las columnas. Alguien puede ayudarme por favor? Gracias de antemano.
Preferiría en vba excel pero si alguien sabe hacerlo en sas también me vale. Gracias
Sub Macro1()
'
' Macro1 Macro
' Keyboard Shortcut: Ctrl+Shift+S
'
Range("d2:g2").Select
Selection.Sort Key1:=Range("d2"), Order1:=xlAscending, Header:=c1 _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
DataOption1:=xlSortNormal
Range("d3:g3").Select
Selection.Sort Key1:=Range("d3"), Order1:=xlAscending, Header:=c1 _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
DataOption1:=xlSortNormal
Range("d4:g4").Select
Selection.Sort Key1:=Range("d4"), Order1:=xlAscending, Header:=c1 _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
DataOption1:=xlSortNormal
End Sub
La macro que estás utilizando parece haberse generado automáticamente, ésto es debido a que los rangos que utilizas no se corresponden con los de la tabla donde pone Range("d2:g2").Select, sustituyelo por A2:K13 o bien por el rango que quieras ordenar.
Esto es, Range("d2:g2").Select por Range("A2:K13").Select o bien toca grabar una nueva macro o codificar una correctamente a mano.
Answered by Victor Quintana on December 28, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP