Excel - Macro VBA al imprimir o guardar

Necesito hacer una macro en excel (VBA) que, cuando el usuario quiera imprimir o guardar (supongo que necesitaré dos macros), compruebe que el valor de una celda es cero y, si no lo fuera, debe impedir guardar o imprimir y lanzar un mensaje indicando "El número de muestras es incorrecto"

Respuesta
1

Entrá al Editor, seleccioná con doble clic el objeto ThisWorkbook del panel a tu izquierda y allí copiá estas 2 macros.

Ajustá el nombre de la hoja, la celda y el mensaje a gusto.

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name <> "Hoja1" Then Exit Sub
If Sheets("Hoja1").Range("E4").Value <> 0 Then
    MsgBox "La celda E4 no es cero, el proceso se cancela.", , "ERROR"
    Cancel = True
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Sheets("Hoja1").Range("E4").Value <> 0 Then
    MsgBox "La celda E4 no es cero, el proceso se cancela.", , "ERROR"
    Cancel = True
End If
End Sub

Para la impresión solo se efectua el control si se intenta imprimir la hoja1, el resto de hojas va sin control.

Sdos y no olvides valorar la respuesta si el tema queda resuelto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas