Escribo esta macro para que me pregunte antes de imprimir, si quiero o no autonumerar el documento, pero sólo una hoja det.

Quiero que al imprimir una hoja determinada de mi libro de trabajo (llamada Cotización), me pregunte si la quiero autonumerar ó no. Escribo la siguiente macro y me da error y no me doy cuenta cómo resolverlo. Pero que lo haga sólo al imprimir ésta hoja determinada.

Private Sub Workbook_BeforePrint(Cancel As Boolean)

If Activesheet.Name = "Cotización" then

Respuesta = MsgBox("¿Autonumerar Cotizador?", vbYesNo)

If Respuesta = vbYes Then

Activesheet.range("H1").value = Activesheet.range("H1").value + 1

End If

ThisWorkbook.Save

End Sub

1 respuesta

Respuesta
1

Te falta un "End if" compañero te lo esta diciendo excel XD je je

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "Cotizacion" Then
Respuesta = MsgBox("¿Autonumerar Cotizador?", vbYesNo)
    If Respuesta = vbYes Then
    ActiveSheet.Range("H1").Value = ActiveSheet.Range("H1").Value + 1
    End If
End If
ThisWorkbook.Save
End Sub

Suerte... no olvides valorar la respuesta y cerrar la pregunta =)

¡Gracias! 

De esta forma que lo escribí no me funcionó la macro, pero sabiendo el error, lo re-escribí de la siguiente forma y funciono perfecto.

Private Sub Workbook_BeforePrint(Cancel As Boolean)

If ActiveSheet.Name = "Cotización" Then

Respuesta = MsgBox("¿Autonumerar Cotizador?", vbYesNo)

If Respuesta = vbYes Then

Sheets("Cotización").Range("H1").Value = Sheets("Cotización").Range("H1").Value + 1

End If

End If

ThisWorkbook.Save

End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas