Como hago la impresión de una hoja de excel condicionada a que el contenido de una celda se vuelva cero

Puse en el ThisWorkbook el siguiente código y suspendí la impresión:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = True
End Sub

Pero ahora necesito hacer la condicional que cuando la celda G25=0 en la hoja llamada: "presupuesto", se permita la impresión y cuando no sea cero continué sin imprimir

Encontre  la siguiente rutina:

If TuCondicion then
Application.EnableEvents = False
Sheets("TuHoja").PrintOut
Application.EnableEvents = True
End if

Pero no se como escribirla correctamente y en que hoja del código tengo que ponerla si en la hoja "presupuesto" o en "thiswoorkbook"

Y no se si tengo que activar el combo de general (declaraciones)

O Worksheet y que submenú escoger: Activate, ¿calculate u otro?

Soy nuevo en esto y no encuentro como resolverlo

1 respuesta

Respuesta
1

H o l a:

Pon lo siguiente en los eventos de thisworkbook

Private Sub Workbook_BeforePrint(Cancel As Boolean)
'Por.Dante Amor
    hoja = "presupuesto"
    'Verifica si la hoja existe
    For Each h In Sheets
        If UCase(h.Name) = UCase(hoja) Then
            existe = True
        End If
    Next
    '
    'Si la hoja existe y es la hoja que quieres imprimir y es igual a 0
 'entonces la imprime
    If existe Then
        If UCase(ActiveSheet.Name) = UCase(hoja) Then
            If Sheets(hoja).Range("G25") = 0 And Sheets(hoja).Range("G25") <> "" Then
                Application.EnableEvents = False
                Sheets(hoja).PrintOut
                Application.EnableEvents = True
            End If
        End If
    End If
    Cancel = True
End Sub

Instrucciones para poner la macro en los eventos ThisWorkbook

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a ThisWorkbook
  4. En el panel del lado derecho copia la macro

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas