Skip to main content

¿Cómo imprimir hojas específicas basadas en valores de celdas en Excel?

Author: Sun Last Modified: 2025-06-04

¿Alguna vez has intentado imprimir hojas específicas basadas en un valor de celda? En este artículo, proporcionaré algunos ejemplos para abordar este problema. Si estás interesado, por favor sigue leyendo.

Imprimir hoja basada en una celda con VBA

Imprimir hoja basada en celda adyacente con VBA


Imprimir hoja basada en una celda con VBA

Supongamos que hay dos hojas, y deseas imprimir Hoja1 o Hoja2 o ambas hojas basándote en la Celda A1 en la Hoja1. Por favor, sigue los pasos a continuación:

En este caso, ingresar 1 indica imprimir la primera hoja, ingresar 2 imprime la segunda hoja, y 3 imprime ambas hojas.

1. Ingresa 1, 2, o 3 según sea necesario en A1 en la primera hoja, y presiona las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

2. Haz clic en Insertar > Módulo, y pega el siguiente código en el Módulo script. Ver captura de pantalla:
A screenshot of inserting a Module in the VBA window

VBA: Imprimir hoja basada en el valor de la celda

Sub PrintStuff()
'UpdayebyExtendoffice20180811
    Dim xRgVal As Variant
    Dim xSheets As Sheets
    Set xSheets = ActiveWorkbook.Worksheets
    xRgVal = xSheets(1).Range("A1").Value
    If (IsNumeric(xRgVal)) And (Len(xRgVal) = 1) Then
        Select Case xRgVal
            Case 1
                xSheets(1).PrintOut
            Case 2
                xSheets(2).PrintOut
            Case 3
                xSheets(1).PrintOut
                xSheets(2).PrintOut
            Case Else
                MsgBox "Enter1, 2 or 3 into A1 (1 print Sheet1 2 print Sheet2 3 print Sheet1 and Sheet2 ", , "KuTools For Excel"
                Exit Sub
            End Select
    Else
        Exit Sub
    End If
End Sub

A screenshot of VBA code inserted in the Module window

3. Presiona la tecla F5 para imprimir directamente la(s) hoja(s).


Imprimir hoja basada en celda adyacente con VBA

Si tienes varias hojas en un libro de trabajo, y quieres imprimir una o varias hojas basadas en los valores de las celdas de este libro, puedes hacer lo siguiente:

1. Crea una nueva hoja llamada Hoja de Control en el libro que estés utilizando, y enumera todos los nombres de las hojas en la columna A (incluye o excluye la hoja de control según sea necesario). Ver captura de pantalla:
A screenshot showing the 'Control Sheet' with sheet names listed in column A in Excel

2. Escribe “imprimir” en la celda adyacente al nombre de la hoja si deseas imprimirla. Ver captura de pantalla mostrada.
A screenshot of the 'Control Sheet' with 'print' values entered in the adjacent cells next to the sheet names

3. Presiona las teclas Alt + F11 para habilitar la ventana de Microsoft Visual Basic para Aplicaciones y haz clic en Insertar > Módulo. Ver captura de pantalla:
A screenshot of inserting a Module in the VBA window

4. Pega el siguiente código en el Módulo, y presiona la tecla F5 para ejecutar el código.

VBA: Imprimir basado en celda adyacente

Sub CreateControlSheet()
'UpdatebyExtendoffice20170811
    Dim i As Integer
    Dim xCSheetRow As Integer
    Dim xSName As String
    Dim xCSheet As Variant
    Dim xRgVal As String
    On Error Resume Next
    xSName = "Control Sheet"
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set xCSheet = ActiveWorkbook.Worksheets(xSName)
    xCSheetRow = xCSheet.Range("B65536").End(xlUp).Row
    For i = 2 To xCSheetRow
        xRgVal = xCSheet.Range("B" & i).Value
        If xRgVal = "Print" Or xRgVal = "print" Then
            If xCSheet.Range("A" & i).Value <> "" Then
                ActiveWorkbook.Worksheets(xCSheet.Range("A" & i).Value).PrintOut
            End If
        End If
    Next
    xCSheet.Delete
    ActiveWorkbook.Worksheets.Add
    ActiveSheet.Name = "Control Sheet"
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "Sheet Name"
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "Print?"
    For i = 1 To ActiveWorkbook.Worksheets.Count
        Range("A" & i + 1).Value = ActiveWorkbook.Worksheets(i).Name
    Next
    Cells.Columns.AutoFit
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

A screenshot of VBA code inserted in the Module window

Después de ejecutar el código, la(s) hoja(s) se imprimirá(n) de inmediato, y al mismo tiempo, una nueva Hoja de Control reemplazará a la antigua.

Consejo: Si tienes Kutools para Excel, con su utilidad Crear tabla de enlace, puedes crear rápidamente una lista de todos los nombres de las hojas en una nueva hoja con un vínculo clickeable.

A screenshot of a Control Sheet with clickable links to sheet names after using Kutools

Kutools para Excel - Potencia Excel con más de 300 herramientas esenciales. ¡Disfruta de funciones de IA gratis permanentemente! Consíguelo ahora

Las mejores herramientas de productividad para Office

🤖 Kutools AI Aide: Revoluciona el análisis de datos basado en: Ejecución inteligente | Generar código | Crear fórmulas personalizadas | Analizar datos y generar gráficos | Invocar Funciones mejoradas
Funciones populares: Buscar, resaltar o marcar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda de varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Crea rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Alternar el estado de visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Top15 conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas para combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) | ... y más

Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...


Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo

  • Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
  • ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!