Macro para ordenar alfabéticamente en VBA/Excel
Resuelto
styvea
Mensajes publicados
36
Estado
Miembro
-
styvea Mensajes publicados 36 Estado Miembro -
styvea Mensajes publicados 36 Estado Miembro -
Bonjour,
me gustaría saber si existe una macro en Excel que permita clasificar alfabéticamente una tabla según una columna específica, por favor.
He intentado usar "grabar una macro" y hacerlo con el ratón, pero no veo qué cambiar para obtener lo que quiero...
Aquí está el código que obtuve:
Marzo es el nombre de la hoja actual, pero dado que la hoja puede cambiar en cualquier momento, necesitaría algo como ActiveSheets. Y dado que el tamaño de la tabla es variable, necesitaría un rango que seleccione toda la tabla de la página.
He intentado con este código:
Pero no funciona y realmente no puedo ver dónde está el error...
Gracias a quienes puedan ayudarme :) Cordialmente
StyveA
Configuración: Windows 7 / Internet Explorer 8.0
me gustaría saber si existe una macro en Excel que permita clasificar alfabéticamente una tabla según una columna específica, por favor.
He intentado usar "grabar una macro" y hacerlo con el ratón, pero no veo qué cambiar para obtener lo que quiero...
Aquí está el código que obtuve:
Sub orden_alpha() ' ' orden_alpha Macro ' ' Range("A1:K18").Select ActiveWorkbook.Worksheets("Marzo").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Marzo").Sort.SortFields.Add Key:=Range("B2:B18"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Marzo").Sort .SetRange Range("A1:K18") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub Marzo es el nombre de la hoja actual, pero dado que la hoja puede cambiar en cualquier momento, necesitaría algo como ActiveSheets. Y dado que el tamaño de la tabla es variable, necesitaría un rango que seleccione toda la tabla de la página.
He intentado con este código:
Sub Macro3() ' ' Macro3 Macro ' ' nbc = UsedRange.Columns.Count nbl = UsedRange.Rows.Count UsedRange.Columns.Count.Select ActiveWorkbook.ActiveSheet.Sort.sortfiels.Clear ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("B2:nbl"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets.ActiveSheet.Sort .SetRange Range("nbl:nbc") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub Pero no funciona y realmente no puedo ver dónde está el error...
Gracias a quienes puedan ayudarme :) Cordialmente
StyveA
Configuración: Windows 7 / Internet Explorer 8.0