Ordenar Hojas con Macro Excel

Tengo una macro que genera "n" hojas en excel, "Hoja1","Hoja2", etc llegando a generar más de 20 hojas.

Deseo al finalizar el proceso ordenar las hojas generadas y que queden así, "Hoja1","Hoja2"..."Hoja9","Hoja10", Hoja11" etc,

Tengo una macro que ordena pero me lo deja de la siguiente manera

"Hoja1","Hoja10", Hoja11","Hoja19","Hoja2","Hoja20", etc

Respuesta
1

[Hola 

revisa este vídeo 

https://www.youtube.com/watch?v=mihVMlKrXbM

3 respuestas más de otros expertos

Respuesta
1

Como los nombres son 'textos' Hoja19 es menor a Hoja2 sin duda.

Se me ocurre que al momento de crear las hojas las renombres cuando los números son de 1 dígito ... para que todas tengan 2 dígitos y puedas ordenarlas como Hoja01 ... Hoja09, Hoja10... etc.

Sheets. Add
If Len(ActiveSheet.Name) = 5 Then ActiveSheet.Name = "Hoja0" & Right(ActiveSheet.Name, 1)

Sdos y no olvides valorar las respuestas.

Respuesta
1

Simplemente corrige la macro que la genera nombrándolas como Hoja01, Hoja02... Hoja09, Hoja10... etc.

Así luego quedarán ordenadas

Respuesta
1

Sub OrdenarHojas()

For i = 1 To Application.Sheets.Count

    For j = 1 To Application.Sheets.Count - 1

         If UCase$(Application.Sheets(j).Name) > UCase$(Application.Sheets(j + 1).Name) Then

                Sheets(j).Move after:=Sheets(j + 1)       

        End If

    Next

Next

End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas