Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

area di stampa dinamica

Hai problemi con i file Zip, vuoi formattare l'HD, non sai come funziona FireFox? O magari ti serve proprio quel programmino di cui non ricordi il nome! Ecco il forum dove poter risolvere i tuoi problemi.

Moderatori: Dylan666, hydra, gahan

area di stampa dinamica

Postdi Assurdo1 » 06/05/16 10:47

Ciao a tutti,
spero qualcuno possa aiutarmi: avrei la necessità di impostare l'area di stampa di un foglio excel chiamato Stampa che si imposta automaticamente in base ai dati presenti nel foglio1. Il problema è che il foglio Stampa presenta celle contenenti formule e quindi non vengono lette come vuote, ho provato ad impostare in VBA la creazione di un flag per poter riconoscere quelle effettivamente vuote, ma ho un problema che non riesco a superare, tra una cella con formula ed un'altra con formula ho effettivamente celle vuote e quindi non funziona correttamente la gestione del flag. es: A1, A2; A3 hanno formule, A4;A5;A6 sono vuote, mentre A7;A8;A9 hanno nuovamente formule e così via. Qualcuno mi può aiutare?

Grazie a tutti
Assurdo1
Utente Junior
 
Post: 22
Iscritto il: 23/10/14 18:51

Sponsor
 

Re: area di stampa dinamica

Postdi Anthony47 » 26/05/16 00:26

La prossima volta pubblica nella sezione Applicativi Office, dove per questi temi e' piu' facile avere attenzione...
Nell'ipotesi che parliamo di max 1000 righe e 26 colonne, prova con questa macro:
Codice: Seleziona tutto
Sub SPrArea()
Dim maxR As Long, maxC As Long
'
maxR = Evaluate("max(row(1:1000)*(A1:AA1000<>""""))")
maxC = Evaluate("max(transpose(row(1:27))*(A1:AA1000<>""""))")
ActiveSheet.PageSetup.PrintArea = "$A$1:" & Cells(maxR, maxC).Address
End Sub

Mettila in un modulo standard del vba ed eseguila prima di mandare in stampa.

Oppure, dopo aver messo la SPrArea in un modulo standard, inserisci questa nel modulo ThisWorkbook:
Codice: Seleziona tutto
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Call SPrArea
End Sub

In questo modo l'area viene impostata col criterio dell'ultima riga /ultima colonna realmente occupata su ogni foglio mandato in stampa (e non so se e' desiderato).

Prova e fai sapere...
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: area di stampa dinamica

Postdi Assurdo1 » 26/05/16 09:04

Ciao Anthony47, innanzi tutto grazie per il suggerimento per la pubblicazione, ma come avrai dedotto non sono molto pratico.
Ho provato con la tua macro, ma come area di stampa prende sempre anche le celle vuote contenenti funzioni e quindi le legge piene. il range è comunque A1: H285.

Spero possa aiutarmi.
Assurdo1
Utente Junior
 
Post: 22
Iscritto il: 23/10/14 18:51

Re: area di stampa dinamica

Postdi Anthony47 » 26/05/16 14:41

Mi spiace, nelle mie prove la macro imposta l'area di stampa correttamente solo fino alle celle che contengono un valore; altre celle contenenti formule ma con risultato "nullo" sono ignorate.
Immagine
hosting immagini

Immagine
upload immagini gratis

A questo punto potrei aver non capito la tua richiesta; ad esempio, con la descrizione data nel tuo primo messaggio, quale e' l'area di stampa che vorresti impostare?

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: area di stampa dinamica

Postdi Assurdo1 » 26/05/16 16:19

Ciao Anthony, probabilmente non sono stato chiaro io, provo a spiegare meglio ciò che mi servirebbe:
il foglio 1 ha dei dati variabili, il foglio 2 chiamato Stampa riepiloga i dati contenuti nel foglio 1 con un ordine sparso. Le celle del foglio STAMPA hanno varie formule che se trovano i valori, copiano i dati, in mancanza lasciano la cella vuota (" ").
Tra una cella con formula e l'altra, ci sono celle realmente vuote.
La macro che mi hai indicato funziona, ma legge comunque anche le celle con formule ma vuote. Infatti il foglio STAMPA ha formule fino alla riga 285 e la tua macro si ferma proprio a quella riga come area di stampa. se scrivo alla riga 286 la tua macro va alla 286. Il problema è che se sono compilate solo due righe, come area di stampa mi da sempre fino alla 285.
Assurdo1
Utente Junior
 
Post: 22
Iscritto il: 23/10/14 18:51

Re: area di stampa dinamica

Postdi Anthony47 » 26/05/16 22:41

Le celle del foglio STAMPA hanno varie formule che se trovano i valori, copiano i dati, in mancanza lasciano la cella vuota (" ").
Ma " " (uno "spazio") non e' il vuoto... La cosa piu' vicina al vuoto e'
Codice: Seleziona tutto
""

Aggiorna quindi le tue formule e riprova.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: area di stampa dinamica

Postdi Assurdo1 » 27/05/16 08:37

Ciao Anthony,
PERFETTO

Funziona alla grande, sei un genio.

Grazie mille.
Assurdo1
Utente Junior
 
Post: 22
Iscritto il: 23/10/14 18:51


Torna a Software Windows


Topic correlati a "area di stampa dinamica":


Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti