Necesito macro que ordene datos de la hoja en la que se esté trabajando indiferentemente del nombre

Buenos días,
Tengo grabada una macro que entre otras cosas me ordena de manera personalizada una
tabla, el problema es que solo me funciona para la hoja1 y los datos que requiero me vaya ordenando los voy importando y alojando en las diferentes hojas, el siguiente es la parte que creo tiene el problema, y es claro que solo se hace mención de la hoja1 como puedo generalizar la macro para la hoja en la que este trabajando, gracias
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add
Key:=Range("D1:D236") _
, SortOn:=xlSortOnValues,
Order:=xlAscending, CustomOrder:= _
"borrador,convocado,adjudicado,celebrado",
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add
Key:=Range("H1:H236") _
, SortOn:=xlSortOnValues,
Order:=xlDescending, DataOption:=xlSortNormal
With
ActiveWorkbook.Worksheets("Hoja1").Sort
.SetRange Range("A1:I236")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Gracias

1 respuesta

Respuesta
1

Debes reemplazar Worksheets("Hoja1") por ActiveSheet en todas las apariciones de tu macro.

PD) En la sección Macros de mi sitio encontrar otras maneras de hacer referencia a hojas, celdas, rangos, etc.

Te recuerdo que la consulta sigue abierta... si algo no se comprendió podes solicitar 'Aclaraciones'. Si el tema quedó resuelto opta por 'Finalizar'.

Sdos

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas