Condividi tramite

Interrompere Macro quando incontra una cella vuota

Anonimo
2024-02-17T19:56:45+00:00

Ho bisogno che la Macro ad ogni salvataggio di un ordine in Pdf se trova un valore vuoto in una cella appartenente alla stessa colonna esca dalla macro .

Di seguito troverete un piccolo esempio della Macro

Sub PO

Sheets("1").Select

    Range("P11").Select

    Selection.Copy

    Application.CutCopyMode = False

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

        "C:\Users\ciro\Desktop\NEW PO\Purchase Orders" & Range("T3").Value & ".pdf", Quality _

        :=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _

        OpenAfterPublish:=True

    Sheets("2").Select

    Range("P11").Select

    Selection.Copy

    Application.CutCopyMode = False

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

        "C:\Users\ciro\Desktop\NEW PO\Purchase Orders" & Range("T3").Value & ".pdf", Quality _

        :=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _

        OpenAfterPublish:=True

    Sheets("3").Select

    Range("P11").Select

    Selection.Copy

    Application.CutCopyMode = False

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

        "C:\Users\ciro\Desktop\NEW PO\Purchase Orders" & Range("T3").Value & ".pdf", Quality _

        :=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _

        OpenAfterPublish:=True

    Sheets("Delivery List").Select

End Sub

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

3 risposte

Ordina per: Più utili
  1. Eleuterio Tedeschi 18,590 Punti di reputazione Moderatore volontario
    2024-02-19T21:12:41+00:00

    Grazie mille Eleuterio sei stato davvero gentile ma sfortunatamente non e' quello di cui ho bisogno.

    Immaginavo, ma vorrei che prendessi coscienza del fatto che poche indicazioni alla volta non permettono di aiutarti senza necessità che tu adatti il codice.

    Siccome la macro salva in pdf fino a 250 documenti in una volta sola in fogli differenti vorrei che

    si arresti nel salvare documenti appena nella colonna D del foglio Dati trova una cella vuota ( la colonna D che ha tutte le celle piene fino a che non finisce il loop) .

    Pur facendo leva sulla mia immaginazione e senza nemmeno sapere da quale riga partirebbero le celle da verificare nel foglio Dati alla colonna D, onestamente non riesco a ricondurre la tua reale situazione al codice generato nel messaggio iniziale, anche perché non conosco il nome dei fogli e la loro struttura.

    Ti chiederei, se non è troppo, di condividere il file con OneDrive e spiegare meno sinteticamente la tua esigenza,

    ciao.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2024-02-19T18:36:03+00:00

    Grazie mille Eleuterio sei stato davvero gentile ma sfortunatamente non e' quello di cui ho bisogno.

    Siccome la macro salva in pdf fino a 250 documenti in una volta sola in fogli differenti vorrei che

    si arresti nel salvare documenti appena nella colonna D del foglio Dati trova una cella vuota ( la colonna D che ha tutte le celle piene fino a che non finisce il loop) .

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Eleuterio Tedeschi 18,590 Punti di reputazione Moderatore volontario
    2024-02-18T01:50:32+00:00

    Non dichiari quale cella deve verificare se vuota, ipotizziamo debba controllare la P11 e la T3 dove prendi il nome del file:
    Sub PO()

    Dim wksT As Worksheet

    For Each wksT In Worksheets 
    
        If wksT.Range("P11").Value = "" Or wksT.Range("T3").Value = "" Then Exit For 
    
        wksT.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\temp\" & wksT.Range("T3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False 
    
    Next wksT 
    
    Worksheets("Delivery List").Select 
    

    End Sub

    Ovviamente metti una discriminante sui nomi dei fogli che devono essere esportati.

    Ciao.

    La risposta è stata utile?

    0 commenti Nessun commento