Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Stampa e Salva PDF Condizionale

Ultimo Aggiornamento: 15/02/2019 12:22
Post: 1
Registrato il: 29/03/2013
Utente Junior
Excel 2013
OFFLINE
13/02/2019 17:25

Buongiorno a tutti,
premetto che sono alle prime armi.Ho due quesiti

Primo quesito - stampa condizionale
Ho creato un file excel con più fogli e vorrei gestire con delle variabili la stampa condizionata dei fogli successivi.
Nel primo foglio nelle celle A2:A5 indico "SI" o "NO" per gestire rispettivamente la stampa dei successivi fogli 2, 3, 4 e 5.
Ho quindi inserito questa macro:
-----
Sub STAMPA()

With Sheets("Foglio1")

If [a2] = "SI" Then
Sheets("Foglio2").PrintOut from:=1, to:=1
End If

If [a3] = "SI" Then
Sheets("Foglio3").PrintOut from:=1, to:=1
End If

If [a4] = "SI" Then
Sheets("Foglio4").PrintOut from:=1, to:=1
End If

If [a5] = "SI" Then
Sheets("Foglio5").PrintOut from:=1, to:=1
End If


End With

End Sub

-----

ma stampa solo i primi due fogli (foglio 2 e foglio 3).
Come mai?

Secondo quesito - SalvaComePdf
Vorrei poter creare lo stesso meccanismo finalizzato però non alla stampa ma al salvataggio in un unico pdf dei fogli che mi interessano (da gestire sempre con le variabili SI/NO)
C'è un modo?

Grazie
Claudio
Post: 1.220
Registrato il: 27/06/2011
Utente Veteran
excel 2007
OFFLINE
13/02/2019 19:34

Re:
OneAfter909, 2/13/2019 5:25 PM:

Buongiorno a tutti,
premetto che sono alle prime armi.



Bene, e benvenuto

Primo passo:
leggi questa discussione.

Poi una soluzione la si trova

Ciao
Frank







Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
Excel 2007 forse anche 2013 ... 2021 ... 365 e future...
Post: 1
Registrato il: 29/03/2013
Utente Junior
Excel 2013
OFFLINE
14/02/2019 08:45

Grazie tanimon,
se ho capito bene ti occorre il file.
Il codice VBA l'ho già messo nel mio precedente messaggio.
Eccolo
Claudio
Post: 3.253
Registrato il: 03/04/2013
Utente Master
Excel 2000 - 2013
OFFLINE
14/02/2019 10:52

Buona giornata, OneAfter909;
quanti Fogli di lavoro ritieni di dover gestire?
Massimo 10, 20, 50 più di 50?


Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 2
Registrato il: 29/03/2013
Utente Junior
Excel 2013
OFFLINE
14/02/2019 11:57

Massimo 20
Post: 3.254
Registrato il: 03/04/2013
Utente Master
Excel 2000 - 2013
OFFLINE
14/02/2019 12:38

Quello che posso proporti è un File strutturato come da Immagine allegata.

I Fogli di lavoro da riportare nel File .pdf vanno visualizzati tramite il Pulsante "Verde" e selezionati contemporaneamente.

Può piacere o meno ma tant'è.

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 3
Registrato il: 29/03/2013
Utente Junior
Excel 2013
OFFLINE
14/02/2019 13:21

Grazie ma non mi è chiaro come si crea l'automatismo tra flag che metto sul foglio 1 ed il fatto che gli altri fogli vengano di conseguenza stampati (o in alternativa salvati in pdf)
Claudio
Post: 3.255
Registrato il: 03/04/2013
Utente Master
Excel 2000 - 2013
OFFLINE
14/02/2019 13:51

L'automatismo è piuttosto semplice, dopo aver selezionato i Fogli di lavoro che vuoi Stampare/Salvare in .pdf, basta selezionare la "Linguetta scheda" del primo Foglio di lavoro che desideri stamapare, tenendo premuto il Tasto ▲, si seleziona l'ultimo Foglio di lavoro che desideri stampare.
Avviando la Funzione stampa verranno stampati i Fogli di lavoro selezionati; nell'esempio allegato in precedenza verrebbero stampati:
-    Foglio3
-    Foglio4
-    Foglio5

Salvando il File con estensione .pdf, si genera un File .pdf con solo i Fogli di lavoro:
-    Foglio3
-    Foglio4
-    Foglio5


A disposizione per eventuali ultrriori approfondimenti.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 4
Registrato il: 29/03/2013
Utente Junior
Excel 2013
OFFLINE
14/02/2019 14:19

Aiuto! Forse mi sono sopravvalutato ma proprio non capisco.
Vi chiedo un pò di pazienza.

Quando mi dici "dopo aver selezionato i Fogli di lavoro che vuoi stampare" intendi l'aver messo o meno il flag nel foglio 1. Corretto?

Nel foglio 1 devo aver prima creato delle macro?

Infine il tasto a forma di triangolo qual è?

Claudio
Post: 3.256
Registrato il: 03/04/2013
Utente Master
Excel 2000 - 2013
OFFLINE
14/02/2019 15:51

Sono consapevole che spiegare il procedimento in Forum non è semplice; cerco di riepilogare.

La prima operazione da eseguire è quella di visualizzare i Foglio di lavoro, anche non consecutivi, che desideri stampare; è possibile farlo con la "Freccia verde" ma posso semplificare l'operazione con "Doppio click" sulla Riga del NomeFoglio; voglio dire, potresti decidere di voler stampare i Fogli di lavoro, 2, 12, 15 e 16.

Fatto ciò, selezioni la "Linguetta scheda" del primo Foglio da stampare, nell'esempio proposto sarà il Foglio3; si aprirà il Foglio di lavoro selezionato.

Tenendo premuto il Pulsante ▲(Maiuscolo) si seleziona l'ultimo Foglio di lavoro che si desidera stampare nell'esempio proposto sarà il Foglio5; in questo modo, considerando l'esempio proposto, verranno selezionati contemporaneamente i Fogli di lavoro 3, 4 e 5.

Avviando la Funzione stampa verranno stampati i Fogli di lavoro selezionati; nell'esempio allegato in precedenza verrebbero stampati:
-    Foglio3
-    Foglio4
-    Foglio5

Salvando il File con estensione .pdf, si genera un File .pdf con solo i Fogli di lavoro:
-    Foglio3
-    Foglio4
-    Foglio5


A disposizione per eventuali ulteriori approfondimenti; in questo caso credo che il passo successivo potrebbe essere solo una chiacchierata in Skype con l'impegno formale di condividere eventuali sviluppi in Forum.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 2.139
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
14/02/2019 17:57

Ciao
senza alterare la tua struttura (ma con qualche piccola modifica) ti sottopongo una soluzione che utilizza il seguente codice:

Sub STAMPA()
CartellaDoveSalvare = "C:\MiaCartella"
ur = Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To ur
    If Cells(i, 1) = "SI" Then
        foglio = Cells(i, 2)
        Nome = Cells(i, 3)
        With Worksheets(foglio)
        .ExportAsFixedFormat _
            Type:=xlTypePDF, _
            Filename:=CartellaDoveSalvare & "\" & Nome & ".pdf", _
            Quality:=xlQualityStandard
        End With
    End If
Next i
End Sub


Saluti
Domenico
Win 10 - Excel 2016
Post: 5
Registrato il: 29/03/2013
Utente Junior
Excel 2013
OFFLINE
15/02/2019 09:51

Giuseppe MN - mi spiace ma non sono riuscito a seguirti.
Invece dodo47 eccezionale! Ce l'ho fatta. Grazie!
Se non chiedo troppo, partendo dal tuo file, ti ho aggiunto un pezzo in più, che mi sarebbe molto utile.
Ho aggiunto un foglio che non deve essere salvato in un autonomo pdf ma deve essere la pagina 2 del pdf creato su uno degli altri fogli (se vedi il file dovrebbe capirsi meglio)
Spero di essermi spiegato.
E' possibile farlo?
Claudio
Post: 2.141
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
15/02/2019 11:41

ciao
per poter salvare 2 o più fogli nel medesimo pdf, puoi usare:

sheets(array("Foglio1", "Foglio3", "etc etc")).select
activesheet.exportasfixedformat _
type:= .....
......

vedi tu come controllare le stampe

saluti



Domenico
Win 10 - Excel 2016
Post: 6
Registrato il: 29/03/2013
Utente Junior
Excel 2013
OFFLINE
15/02/2019 12:22

Sto provando ma non riesco.
Questa nuova serie di codici dove va inserita rispetto alla precedente macro?


Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 06:26. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com