¿Cómo imprimir hojas específicas basadas en valores de celdas en Excel?
¿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:
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
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:
2. Escribe “imprimir” en la celda adyacente al nombre de la hoja si deseas imprimirla. Ver captura de pantalla mostrada.
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:
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
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.
 
 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
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.
 
  
  
  
 
- 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