| | 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 | |
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?
|
|
|