Macro ordenar filas dependiendo de palabra especifica Vb Excel "DAM"

Quisiera que me ayuden con un caso:

Tengo una hoja de excel con varias columnas desde la A3 hasta la Q3, la pregunta es,

¿Hay una forma de hacer que los datos que tengo en dicha hoja se puedan ordenar no alfabéticamente si no de una forma especial?, es decir, tengo una columna llamada cargo en la cual tiene 4 tipos de datos especiales: (JEFE, DIRECTOR, ASISTENTE, AUXILIAR, entre otros mas), quisiera yo que al ejecutar una macro o algo se ordene de la siguiente forma (DIRECTOR, JEFE, ASISTENTE, AUXILIAR, ¿y los demás en orden alfabético) sera posible eso?

1 respuesta

Respuesta
1

Para realizar los que estas pidiendo, se puede hacer mediante la opción "Orden personalizado"

Debes crear una lista para definir el orden especial director, jefe, asistente y auxiliar

Después agregas un nivel que ordene de forma alfabética y ya lo tienes.

El código resultante de grabar la macro es:

Sub Macro1()
'
' Macro1 Macro
'

'
Range("A1").Select
ActiveWorkbook.Worksheets("Hoja2").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Hoja2").Sort.SortFields.Add Key:=Range("A2:A9"), _
SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
"director,jefe,asistente,auxiliar", DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Hoja2").Sort.SortFields.Add Key:=Range("B2:B9"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Hoja2").Sort
.SetRange Range("A1:B9")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

Donde deberás adaptar las partes en negrita a tu hoja

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas