Condividi:        

Excel2003 stampa su più colonne

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

Excel2003 stampa su più colonne

Postdi wallace&gromit » 03/02/13 19:38

ciao,
sapete se è possibile stampare una tabella "lunga e stretta" su due colonne, in una pagina, come in word?
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Sponsor
 

Re: Excel2003 stampa su più colonne

Postdi Flash30005 » 03/02/13 19:44

Penso di sì,
se usi la colonna A e la colonna C (lasciando B come colonna separatrice)
puoi impostare l'area di stampa se occorre avere tutto in un foglio

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel2003 stampa su più colonne

Postdi ricky53 » 03/02/13 20:06

Ciao,
a mia conoscenza non è possibile, almeno con il 2003.
Con del codice VBA invece si possono spezzare le colonne e fare in modo che vengano 2,3,4, ecc. colonne invece che una, occorre stabilire solo quante righe e colonne vanno stampate per pagina, la cosa può essere dinamica ...

Flash: ci puoi fare un esempio di quello che hai scritto, così aggiungiamo altra conoscenza?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel2003 stampa su più colonne

Postdi Flash30005 » 03/02/13 22:07

Aspetto solo un esempio (screenshot) da W&G dopodiché parleremo di soluzione :)

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel2003 stampa su più colonne

Postdi wallace&gromit » 04/02/13 14:14

c'è un piccolo dettaglio insignificante che ho trascurato di dire... :) ... è una tabella pivot!

le immagini di seguito sono solo rappresentative di come potrebbe apparire il lavoro reale, ci saranno quattro colonne, come rappresentato qui:
Immagine
vorrei poterle stampare affiancate, così:
Immagine
nei dati reali calcolo di dovere stampare almeno una ventina di righe per colonna e risulteranno circa 4 pagine (se l'adattamento è dinamico e interattivo meglio ancora).
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: Excel2003 stampa su più colonne

Postdi Flash30005 » 04/02/13 15:31

wallace&gromit ha scritto: ho trascurato di dire... ... è una tabella pivot!


Ehm sì, hai dimenticato un particolare proprio insignificante :D

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel2003 stampa su più colonne

Postdi wallace&gromit » 04/02/13 15:51

comunque è una pivot "statica" che viene aggiornata una volta inseriti tutti i dati di un anno e poi non viene più toccata, pertanto si può anche pensare di fare un copia /incolla valori prima di iniziare le operazioni di layout per la stampa.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: Excel2003 stampa su più colonne

Postdi Flash30005 » 04/02/13 17:20

Non ho Pivot per poter fare delle prove con macro

se puoi invia il file

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel2003 stampa su più colonne

Postdi wallace&gromit » 04/02/13 17:29

il file semplice di esempio lo trovi qui
http://www.filedropper.com/cartel1
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: Excel2003 stampa su più colonne

Postdi Anthony47 » 05/02/13 02:48

Secondo me la cosa e' piu' contorta di come l' hai messa...
Comunque per cominciare prova questa macro:
Codice: Seleziona tutto
Sub WnG2()
'
On Error Resume Next
Application.DisplayAlerts = False
Sheets("ZcWork").Delete
Sheets("ZcPrint").Delete
On Error GoTo 0
Application.DisplayAlerts = True
'
TabSh = "Foglio4"   '<<<-- Il foglio con la tabella di origine
'NB: il prossimo parametro deve cominciare da A1;
'es: corretto A1:F1
'    sbagliati B1:F1, A2:G2
Tab1Adr = "A1:D1"   '<<<-- La larghezza della prima tabella
'
Tab2Adr = Range(Tab1Adr).Offset(0, Range(Tab1Adr).Count + 1).Address
LastCol = Range(Tab2Adr).Offset(0, Range(Tab1Adr).Count - 1).Column
'
'Crea copia del foglio con Pivot
Sheets(TabSh).Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = "ZcWork"
Range(Tab1Adr).Resize(20, Range(Tab1Adr).Count).Copy Destination:=Range(Tab2Adr)
'Imposta larghezza colonne come originale
For Each TabC In Range(Tab1Adr)
    Range(Tab2Adr).Offset(0, I).ColumnWidth = TabC.ColumnWidth
    I = I + 1
Next TabC
With ActiveSheet.PageSetup
    .Orientation = xlLandscape
    .PaperSize = xlPaperA4
    .Zoom = 100
End With
ActiveSheet.ResetAllPageBreaks

'Crea foglio di stampa
ActiveSheet.Copy After:=Sheets(Sheets.Count)
ActiveSheet.Cells.Clear
ActiveSheet.Name = "ZcPrint"
'
Sheets("ZcWork").Select
'
'Cerca lo zoom che mantiene l' orizzontale in 1 pagina
For ZPr = 100 To 50 Step -1
    ActiveSheet.PageSetup.Zoom = ZPr
    ActiveWindow.View = xlPageBreakPreview
    ActiveWindow.View = xlNormalView

    VPb = ActiveSheet.VPageBreaks(1).Location.Column  'ExecuteExcel4Macro("INDEX(GET.DOCUMENT(65),1)")
    If VPb >= LastCol + 1 Then Exit For
Next ZPr
'Copia Work in Print
For I = 1 To Range("A65000").End(xlUp).Row Step (ActiveSheet.HPageBreaks(1).Location.Row - 3) * 2
    Range("A" & I).Resize( _
        ActiveSheet.HPageBreaks(1).Location.Row - 3, Range(Tab1Adr).Count).Copy Destination:= _
        Sheets("ZcPrint").Range("A1").Offset((I + 1) / 2 - 1 + pippo, 0)
       
    Range("A1").Offset(I * (ActiveSheet.HPageBreaks(1).Location.Row - 3), 0).Resize( _
        ActiveSheet.HPageBreaks(1).Location.Row - 3, Range(Tab1Adr).Count).Copy Destination:= _
        Sheets("ZcPrint").Range(Tab2Adr).Offset((I + 1) / 2 - 1 + pippo)
    pippo = 5
Next I
Sheets("ZcPrint").Select
With ActiveSheet.PageSetup
    .Orientation = xlLandscape
    .PaperSize = xlPaperA4
    .Zoom = ZPr
End With
       
End Sub

Le due istruzioni marcate <<< sono da personalizzare.
La macro crea due fogli, ZcWork e ZcPrint; ZcPrint dovrebbe alla fine contenere il foglio stampabile su "doppia colonna".
Si presuppone che il tuo file non contenga due fogli con questi nomi.

La macro ridurra' lo zoom fino ad avere le doppie colonne in una unica paginata in formato A4-Landscape, poi spezzera' le voci della tabella in due colonne.
Non ho fatto nessun tentativo di replicare le intestazioni sulla seconda colonna, ne' per terminare una colonna in corrispondenza del Totale complessivo di un Campo dati.

Vedi se il risultato e' presentabile...
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel2003 stampa su più colonne

Postdi wallace&gromit » 05/02/13 10:41

grazie Anthony,
sul file di prova sembra funzionare, stasera lo provo con quello reale.
Hai fatto bene a lasciare via le intestazioni ed i totali, per contro mi piacerebbe potere impostare il numero di pagine del risultato finale: sicuramente con i dati che ho, una sola pagina risulta con uno zoom troppo piccolo.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: Excel2003 stampa su più colonne

Postdi Anthony47 » 05/02/13 12:53

Lo zoom viene applicato per essere certi che le doppie colonne (in larghezza) stanno in una pagina orizzontale A4; il numero di pagine richiesto dipendera' invece dalla lunghezza della lista iniziale.
Piuttosto, facendo il test con un elenco iniziale moolto piu' lungo di quello pubblicato mi sono accorto di un errore di impaginamento, che avrei risolto modificando questa parte della macro:
Codice: Seleziona tutto
'Copia Work in Print
For I = 1 To Range("A65000").End(xlUp).Row Step (ActiveSheet.HPageBreaks(1).Location.Row - 3) * 2
    Range("A" & I).Resize( _
        ActiveSheet.HPageBreaks(1).Location.Row - 3, Range(Tab1Adr).Count).Copy Destination:= _
        Sheets("ZcPrint").Range("A1").Offset((I + 1) / 2 - 1, 0)
       
    Range("A1").Offset(I + ActiveSheet.HPageBreaks(1).Location.Row - 3 - 1, 0).Resize( _
        ActiveSheet.HPageBreaks(1).Location.Row - 3, Range(Tab1Adr).Count).Copy Destination:= _
        Sheets("ZcPrint").Range(Tab2Adr).Offset((I + 1) / 2 - 1, 0)
'   set page break
    Sheets("ZcPrint").HPageBreaks.Add before:=Sheets("ZcPrint").Range("A1").Offset((I + 1) / 2 - 1 + ActiveSheet.HPageBreaks(1).Location.Row - 3, 0)
Next I

Fai sapere, ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel2003 stampa su più colonne

Postdi wallace&gromit » 05/02/13 21:55

grazie mille Anthony,
testato sul file reale, perfetto!
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21


Torna a Applicazioni Office Windows


Topic correlati a "Excel2003 stampa su più colonne":


Chi c’è in linea

Visitano il forum: Nessuno e 50 ospiti

cron