2 Macros para Convertir Todo a Tabla y Todo a Rango ( con 1 Clic)

Unos minutos hacen la diferencia entre entregar un reporte a tiempo o salir tarde de la oficina. Por eso hoy te regalo dos macros en Excel: una para convertir todas las hojas a Tabla y otra para volver todo a Rango. Directo, práctico y sin rodeos.

Así Convierto TODAS mis Hojas en Tablas de Excel (y viceversa)

2 Macros para Convertir Todo a Tabla y Todo a Rango ( con 1 Clic)

Suscríbete para más tutoriales

🎁 Descarga el archivo para practicar

Escribe tu correo electrónico para recibir gratis el archivo para practicar.

¿Por qué importa esto?

Porque ir hoja por hoja es perder tiempo. Con estas macros en Excel:

  • Formateas todo como Tabla en un clic (ideal para APILARV y Power Query).
  • Quitas diseño y vuelves a Rango cuando necesitas mover/copiar varias hojas a otro archivo (limitación típica si son Tablas).
  • Evitas errores tontos y ganas velocidad.

Macro 1 — Convertir todas las hojas a Tabla

¿Cuándo usarla?

  • Tienes varias hojas con rangos normales y quieres automatizar el formato Tabla.
  • Planeas acumular datos con APILARV (VSTACK) o consumir con Power Query para refrescar reportes.

¿Qué hace la macro? (en cristiano)

  • Recorre las hojas (por ejemplo, desde la hoja 3 en adelante).
  • Toma el rango con datos (UsedRange) de cada hoja.
  • Lo convierte a Tabla y (opcional) nombra la Tabla como Tabla_[NombreHoja].
  • Si una hoja no tiene datos o ya es Tabla, la salta.

Pasos rápidos para habilitar y ejecutar

  1. Desarrollador: Archivo → Opciones → Personalizar cinta → activa Programador.
  2. Visual Basic: Programador → Visual Basic → inserta Módulo y pega la macro.
  3. Ejecutar: presiona F5 (o F8 si quieres ver paso a paso).
  4. (Opcional) Acceso rápido: Archivo → Opciones → Barra de herramientas de acceso rápido → agrega tu macro y ponle un ícono.

Tip: Si la primera fila no es encabezado, cambia el parámetro a xlNo.


'Aprende Macros en excel desde cero: https://www.deztaca.com/macros

Sub Convertir_a_Tabla()
'Convertir todas las hojas a Tabla

Dim i As Long
Dim Hoja As Worksheet

For i = 3 To ThisWorkbook.Worksheets.Count
    
    Set Hoja = ThisWorkbook.Worksheets(i)

    ' Si la hoja no tiene datos, sigue
    If Application.WorksheetFunction.CountA(Hoja.Cells) = 0 Then GoTo Siguiente

    ' Convierte el UsedRange en tabla (asumiendo encabezados en la primera fila)
    On Error Resume Next                    ' Por si ya existe una tabla en la hoja
    Hoja.ListObjects.Add SourceType:=xlSrcRange, _
                        Source:=Hoja.UsedRange, _
                        XlListObjectHasHeaders:=xlYes
    On Error GoTo 0

    ' (Opcional) Renombrar la primera tabla con el nombre de la hoja
    On Error Resume Next
    Hoja.ListObjects(1).Name = "Tabla_" & Hoja.Name
    On Error GoTo 0

Siguiente:
Next i

MsgBox "Listo: se convirtieron los rangos en tablas.", vbInformation
End Sub

Macro 2 — Quitar diseño y convertir todas las Tablas a Rango

¿Cuándo usarla?

  • Quieres mover/copiar varias hojas a un libro nuevo (si están en formato Tabla, Excel limita el multi-movimiento).
  • Necesitas “resetear” un archivo: dejar rangos limpios, sin colores, sin estilos de Tabla.

¿Qué hace la macro?

  • Hoja por hoja, detecta todas las Tablas.
  • Les quita el estilo (sin colores) y luego las convierte a Rango.
  • Recorre de atrás hacia adelante para no romper la colección de Tablas.
'Aprende Macros en excel desde cero: https://www.deztaca.com/macros

Sub Convertir_a_Rango()
'Convertir todas la Tablas a Rango

Dim i As Long, j As Long
Dim Hoja As Worksheet
Dim Tabla As ListObject

For i = 3 To ThisWorkbook.Worksheets.Count
    Set Hoja = ThisWorkbook.Worksheets(i)

    If Hoja.ListObjects.Count > 0 Then
        ' Recorremos de atrás hacia adelante porque Unlist reduce la colección
        For j = Hoja.ListObjects.Count To 1 Step -1
            Set Tabla = Hoja.ListObjects(j)

            'Quitar diseño (sin colores)
            Tabla.TableStyle = ""

            'Convertir a rango normal
            Tabla.Unlist
        Next j
    End If
Next i

MsgBox "Se quitaron estilos y se convirtieron todas las tablas a rango.", vbInformation
End Sub

Ejemplo práctico (tal como en el video)

  • Tienes 5 hojas (Mayo, Junio, Julio, Agosto, Septiembre) con rangos.
  • Con la Macro 1 las vuelves Tablas en segundos.
  • Ahora puedes acumular en una hoja “Concentrado” usando APILARV y cada vez que agregues filas a las Tablas, el concentrado crece.
  • ¿Necesitas mover varias hojas a otro libro? Primero corre la Macro 2 (quita estilo + vuelve a Rango) y listo: ya puedes mover dos o más hojas a la vez.

Preguntas rápidas (FAQ)

¿Desde qué hoja empieza?
Como en el demo, desde la hoja 3, pero puedes ajustarlo en el código.

¿Tengo que activar cada hoja?
No. La macro trabaja sin activar hojas; activarlas solo fue para mostrar el cambio.

¿Y si una hoja está vacía?
La macro la salta automáticamente.

Certifícate en Excel

Tienes experiencia en Excel y quieres mejorar tus oportunidades laborales? Obtén la Certificación Excel Expert avalada por Microsoft.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top