Hacer que botones de macros funcionen con alguna condición previa.
Soy muy novato en este tema pero por cosas de la vida teminé en esto.
Todo comenzó con crear un modelo de factura, pero luego me han encargado dos botones que me están estresando la existencia.
Es un modelo de factura y necesito dos botones "CREAR PDF" que guarda la factura en formato pdf y la abre y "NUEVA FACTURA" que limpia los campos y aumenta en uno el contador de factura.
PEEEEERO, "CREAR PDF" solo debe estar activo si hay dos celdas llenadas como mínimo (nombre y monto total) así evitamos generar pdf en blanco. Además la ruta en donde se guarda y el nombre del archivo se escribirán en dos celda de la segunda hoja del excel.
"NUEVA FACTURA" solo debe estar activo después de haber usado el botón "CREAR FACTURA" así se evita borrar por error lo avanzado o presionarlo varias veces y aumentar el contador de facturas exageradamente por error.
Adjunto mis códigos a ver si me pueden salvar, gracias.
CREAR PDf:
Sub GenerarPDF()
'
' GenerarPDF Macro
' Genera un PDF de la factura creada.
'
'
Dim NombreCliente As String
Dim MontoTotal As Double
NombreCliente = Cells(10, 3).Value
MontoTotal = Cells(36, 11).Value
If NombreCliente <> "" And MontoTotal <> 0 Then
Range("A1:L37").Select
ActiveWindow.SmallScroll Down:=-21
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\4ser\Desktop\TRABAJO\PDF FACTURA 01.pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Range("C10:L11").Select
End If
End SubNUEVA FACTURA:
Sub NuevoDocumento()
Dim NumeroDocumento As Long
Dim NombreCliente As String
Dim MontoTotal As Double
NombreCliente = Cells(10, 3).Value
MontoTotal = Cells(36, 11).Value
If NombreCliente <> "" And MontoTotal <> 0 Then
NumeroDocumento = Worksheets("INSTRUCCIONES").Cells(31, 3).Value + 1
Worksheets("INSTRUCCIONES").Cells(31, 3) = NumeroDocumento
Cells(6, 7) = NumeroDocumento
End If
Range("A19:A34").Select
Selection.ClearContents
Range("B19:I34").Select
Selection.ClearContents
Range("J19:J34").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=-9
Range("C10:L11").Select
Selection.ClearContents
End SubA veces hasta me sale error tipo "13" cuando ejecuto varias veces el botón.