Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

IMPOSTARE TRAMITE VBA ALTEZZA RIGHE PER STAMPA IN EXCEL

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

IMPOSTARE TRAMITE VBA ALTEZZA RIGHE PER STAMPA IN EXCEL

Postdi Bernoulli » 30/10/10 14:46

Buongiorno, ho diversi file Excel da impostare per la stampa su carta.
Il problema è l'altezza delle righe, perchè alcune ad esempio sono di alte 13,8 e mi tagliano alcune parole quando mando in stampa.
Non sono in grado di scrivere il codice da utilizzare, ma so che si può fare tramite VBA.
Utilizzo come altezza testo il valore di 11 e lo stile Arial.
La larghezza delle celle è di 45 punti.
Per quanto riguarda le celle con il testo con altezza 11 il codice dovrà eseguire queste operazioni: se la cella è formata da 1 sola riga di testo l'altezza della cella dovrà diventare 15, se la cella è formata da 2 righe ( con controllo testo settato a Testo a capo) di testo l'altezza della cella dovrà essere 2x15= 30, se è formata da 3 righe vorrei che l'altezza della cella dovrà essere 45 etc. 15*4 = 60 , 15*5 = 75, 15*6 = 90, 15*7 = 105, etc.
Ci sono celle però che contengono testo con altezza di 14. La formattazione dovrà essere :
se 1 riga altezza cella 30
se 2 righe altezza cella 44
se 3 righe altezza cella 60

grazie
cordiali saluti
Bernoulli
Newbie
 
Post: 4
Iscritto il: 30/10/10 14:26

Sponsor
 

Re: IMPOSTARE TRAMITE VBA ALTEZZA RIGHE PER STAMPA IN EXCEL

Postdi Anthony47 » 30/10/10 15:19

Ciao Bernoulli e benvenuto nel forum.
Non hai bisogno di noi, puoi farlo con una macro autoregistrata:
-avvii Registra nuova macro (Menu /Strumenti /Macro /Registra nuova macro)
-selezioni le righe intere a cui appartengono le celle che potenzialmente dovresti normalizzatìre (clicca sul numero di riga, trascina la selezione verso il basso)
-posizioni il mouse sul margine di separazione tra due delle righe; il simbolo del cursore cambia da "freccia orizzontale" in un simbolo di separazione.
-doppioclick
-selezioni la prima cella che contiene il testo normalizzato
-fermi la registrazione macro (Menu /Strumenti /Macro /Interrompi registrazione)
In questo modo, con questi comandi assegnerai a ogni riga l' altezza necessaria per visualizzare il testo che le sue celle contengono, e ti bastera' mandare in esecuzione la macro per ripetere esattamente le stesse fasi sul file e sul foglio attivi in quel momento.

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: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: IMPOSTARE TRAMITE VBA ALTEZZA RIGHE PER STAMPA IN EXCEL

Postdi Bernoulli » 30/10/10 15:37

CIAO, grazie, sto provando e riprovando ma non riesco, o meglio faccio quello che mi dici ma non succede niente...
hai qualche consiglio?
grazie ciao
Bernoulli
Newbie
 
Post: 4
Iscritto il: 30/10/10 14:26

Re: IMPOSTARE TRAMITE VBA ALTEZZA RIGHE PER STAMPA IN EXCEL

Postdi Anthony47 » 30/10/10 16:26

-posizioni il mouse sul margine di separazione tra due delle righe; il simbolo del cursore cambia da "freccia orizzontale" in un simbolo di separazione.
-doppioclick

Posta uno screenshot quando hai completato la prima fase e sei pronto per il doppioclick; le istruzioni per lo screenshot sono qui: viewtopic.php?f=26&t=80395#p466013

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: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: IMPOSTARE TRAMITE VBA ALTEZZA RIGHE PER STAMPA IN EXCEL

Postdi Bernoulli » 30/10/10 16:50

LINK IMMAGINE:
http://img177.imageshack.us/img177/760/altezzariga.jpg
cmq il codice è più comodo di tutta questa procedura.

cordiali saluti
Bernoulli
Newbie
 
Post: 4
Iscritto il: 30/10/10 14:26

Re: IMPOSTARE TRAMITE VBA ALTEZZA RIGHE PER STAMPA IN EXCEL

Postdi Flash30005 » 31/10/10 01:03

Prova questo codice

Codice: Seleziona tutto
Sub RegolaRighe()
URR = Range("A" & Rows.Count).End(xlUp).Row
    Rows("1:" & URR).EntireRow.AutoFit
End Sub

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: IMPOSTARE TRAMITE VBA ALTEZZA RIGHE PER STAMPA IN EXCEL

Postdi Anthony47 » 31/10/10 10:47

LINK IMMAGINE:
http://img177.imageshack.us/img177/760/altezzariga.jpg
cmq il codice è più comodo di tutta questa procedura.
1)Se quella e' l' immagine su cui fai doppioclick allora non hai seguito le istruzioni, in particolare
-posizioni il mouse sul margine di separazione tra due delle righe; il simbolo del cursore cambia da "freccia orizzontale" in un simbolo di separazione.
2)"Tutta questa procedura" ti avrebbe portato ad avere il codice, quindi serviva a spiegarti come certe cose le puoi fare anche da solo
3)Usa il codice che benevolmente ti ha fornito Flash, vedi sopra.

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: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: IMPOSTARE TRAMITE VBA ALTEZZA RIGHE PER STAMPA IN EXCEL

Postdi Bernoulli » 01/11/10 09:52

Per Antony, quando ho postato l'immagine mi sono accordo che facendo Prn Scrn mi perdeva il simbolo di doppia freccia, comunque a video si vede.

Per Flash, il codice funziona solo che imposta l'altezza delle righe al valore di 13,8 e suoi multipli quindi
13,8*2=27.6, 13,8*3= 41.4, 13.8*4=55.2 etc..
Quindi con 13,8 di base alcune parole per la stampa su carta sono troncate.
A me serve che il 13,8 di base sia 15, e poi quindi di conseguenza i suoi multipli, 15, 30, 45 etc..
Forse è solo un impostazione di base da cambiare tipo ->Strumenti -> Opzioni -> Valore altezza riga -> 15.
Ma questa impostazione non la trovo, e comunque sarebbe più comodo inserire questo settaggio anche nel codice in modo tale da standardizzare l'operazione e rendere il tutto più veloce.
Aspetto notizie, per ora cmq grazie
Bernoulli
Newbie
 
Post: 4
Iscritto il: 30/10/10 14:26

Re: IMPOSTARE TRAMITE VBA ALTEZZA RIGHE PER STAMPA IN EXCEL

Postdi Flash30005 » 01/11/10 11:21

Secondo me hai qualche configurazione impostata male oppure hai delle celle unite in alcune righe che "obbligano" i settaggi da te dichiarati anche perché non capisco come mai le righe non ti si adattino al carattere che imposti, spiego:
Arial 11 standard inserisce automaticamente l'altezza riga pari a 14,25 e non 13,8
Arial 14 porta la riga a 18
in ambedue le situazioni, con testo a capo, si ha il multiplo dell'altezza riportata (28,5 per Arial 11... e 36 per Arial 14...), multiplo pari al numero dlle righe esistenti nella cella.

Comunque puoi usare questa macro che inizialmente regola secondo il tuo standard l'altezza riga e poi assegna i valori da te voluti (valori che adatterai alle tue esigenze)

Codice: Seleziona tutto
Sub RegolaRighe()
URR = Range("A" & Rows.Count).End(xlUp).Row
For RR = 1 To URR
    Rows("1:" & URR).EntireRow.AutoFit
    Select Case Rows(RR & ":" & RR).RowHeight
'Per il formato Arial 11
        Case 13.8
            Rows(RR & ":" & RR).RowHeight = 15
        Case 27.6
            Rows(RR & ":" & RR).RowHeight = 30
        Case 41.14
            Rows(RR & ":" & RR).RowHeight = 45
        Case 55.2
            Rows(RR & ":" & RR).RowHeight = 60
        Case 69
            Rows(RR & ":" & RR).RowHeight = 75
        Case 82.8
            Rows(RR & ":" & RR).RowHeight = 90
        Case 96.6
            Rows(RR & ":" & RR).RowHeight = 105
        Case 110.4
            Rows(RR & ":" & RR).RowHeight = 120
        'etc per il formato Arial 11
            '...
        'per il formato Arial 14
        Case 18
            Rows(RR & ":" & RR).RowHeight = 30
        Case 36
            Rows(RR & ":" & RR).RowHeight = 45
        Case 54
            Rows(RR & ":" & RR).RowHeight = 60
        'etc per il formato Arial 14
    End Select
Next RR
End Sub


Fai sapere
Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-


Torna a Applicazioni Office Windows


Topic correlati a "IMPOSTARE TRAMITE VBA ALTEZZA RIGHE PER STAMPA IN EXCEL":


Chi c’è in linea

Visitano il forum: alfrimpa, giorgio1979 e 12 ospiti