Ordenar las hojas por nombre en Excel

Compatibilidad: Excel 365 2021 2019 2016

Cuando un libro dispone de muchas hojas, podemos ordenar las hojas por nombre en Excel, alfabeticamente de la A a la Z, mediante una macro de VBA.

Ordenar las hojas por nombre en Excel: Libro con hojas sin ordenar y con hojas ordenadas (De la A la la Z).
  1. Con Excel abierto.

  2. Pulsar la tecla Alt y mantener pulsada / Pulsar la tecla F11. Mostrará el editor de Visual Basic.

  3. Ir a: Barra de Menú / Insertar / Módulo. Mostrará la ventana del módulo donde escribimos la macro.

  4. Escribir el código de la macro:

    Sub OrdenaHojas()

    Application.ScreenUpdating = False

    Sheets.Add: ActiveSheet.Name = "_Temp_"

    For Each Hoja In Sheets
    [A1048576].End(xlUp).Offset(1) = Hoja.Name
    Next Hoja

    [A:A].Find(What:="_Temp_", LookIn:=xlValues,
    LookAt:=xlWhole).ClearContents
    [A:A].Sort Key1:=[a1], Order1:=xlAscending

    With Sheets("_Temp_")
    For ii = 1 To Sheets.Count - 1
    Sheets(.[a1].Offset(ii - 1).Value).Move Before:=Sheets(ii)
    Next ii
    Application.DisplayAlerts = False:
    .Delete: Application.DisplayAlerts = True
    End With

    Application.ScreenUpdating = True

    End Sub

  5. Guardar el libro con la extensión *.xlsm. Libro habilitado para macros.

  6. Ejecutamos la macro (tecla Alt + F8) para ordenar las hojas alfabéticamente.

Así mediante una macro podemos ordenar las hojas por nombre en Excel.

Nivel de dificultad: Experto VBA-Macros Excel Experto VBA - Macros

6 comentarios en “Ordenar las hojas por nombre en Excel

  • Buenos dias, por favor alguien sabe si existe la posibilidad de ordenar NUMERICAMENTE las solapas en Excel.
    Gracias

    • Hola Jose María,

      Aplica el código:

      Sub OrdenarHojas()

      For i = 1 To Sheets.Count
      For s = i + 1 To Sheets.Count
      If UCase(Sheets(i).Name) > UCase(Sheets(s).Name) Then
      Sheets(s).Move Before:=Sheets(i)
      End If
      Next s
      Next i

      End Sub

      Saludos.

  • Buenas Noches, copie tal cual lo que Uds. informan pero al ejecutarlo me sale la siguiente leyenda : NO SE PUEDE EJECUTAR CODIGO EN MODO DE INTERRUPCION; la verdad desconozco totalmente VISUAL BASIC y esta opcion de ordenar alfabetivamente me resulta de los mas interesante.

    Muchas Gracias

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.