Skip to main content

Kutools para Office — Una Suite. Cinco Herramientas. Haz Más.

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

Author Sun Last modified

¿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 identificar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda por varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Cree 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...)...
Los15 principales 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 de combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) ... y más
Utiliza Kutools en tu idioma preferido: admite inglés, español, alemán, francés, chino y más de40 idiomas adicionales.

Mejora tu dominio de 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 incorpora la interfaz de pestañas en 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 hacerlo en ventanas separadas.
  • ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!

Todos los complementos de Kutools. Un solo instalador

El paquete Kutools for Office agrupa complementos para Excel, Word, Outlook y PowerPoint junto con Office Tab Pro, ideal para equipos que trabajan en varias aplicaciones de Office.

Excel Word Outlook Tabs PowerPoint
  • Suite todo en uno: complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un solo instalador, una licencia: configuración en minutos (compatible con MSI)
  • Mejor juntos: productividad optimizada en todas las aplicaciones de Office
  • Prueba completa de30 días: sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio: ahorra en comparación con la compra individual de complementos