Certo che ti aiuto ma la macro è il minimo, il lavoro grosso è quello di definire esattamente gli spazi della fattura.
Ho fatto una prova sul mio excel che ti invito a ripetere sul tuo anche se, probabilmente, qualche piccolo settaggio diverso potrebbe portare qualche sfasatura di qualche pixel ma è per farti capire cosa intendo dire (per diminuire i problemi con i pixel lavora sempre con lo zoom al 100%).
Allora, intanto ho impostato i margini della pagina a 2,9 cm superiore e 2,4 inferiore, poi nell'intestazione sinistra ho inserito, in rosso, quattro righe con i dati della ditta e nell'intestazione destra altre quattro con i dati del cliente, nel piè di pagina ho inserito la pagina e il numero di pagine, sempre in rosso e poi, nelle celle, i dati che seguono:
codice:
Riga Altezza in px Contenuto
1 30 vuota
2 30 intestazione riga 1
3 30 intestazione riga 2
4 30 intestazione riga 3
5 125 vuota
6 30 Riga 1
7 70 vuota
8 30 Riga 2
9 70 vuota
10 30 Riga 3
11 70 vuota
12 30 Riga 4
13 70 vuota
14 30 Riga 5
15 70 vuota
16 125 vuota
17 25 Coda riga 1
18 25 Coda riga 2
19 25 Coda riga 3
Fatto questo dovresti ottenere un'anteprima di stampa simile a questa .
Ora esegui questa serie di operazioni (che saranno quelle da far compiere alla macro):
- Seleziona le righe da 5 a 16 e copiale in memoria con CTRL-C
- Clicca col destro sul numero di riga 17 e clicca su Inserisci celle copiate
- Clicca su una qualsiasi cella per annullare la selezione precedente
- Clicca col destro sul numero di riga 17 e clicca su Inserisci
- Clicca col destro sul numero di riga 18 e clicca su Inserisci
- Porta l'altezza della riga 17 a 75 px
- Porta l'altezza della riga 18 a 120 px
Se ora fai l'anteprima dovresti ottenere due pagine fatte così e così.
Come vedi, quindi il primo esempio era di una sola pagina e conteneva sia la testa che la coda mentre ora la prima pagina contiene la testa e la seconda la coda e i dati non si sono spostati come posizione nella pagina.
In definitiva cosa ho fatto?
Ho semplicemente copiato tutto il blocco delle righe di dettaglio sotto se stesso e poi ho aggiunto due righe, una di 75 e una di 120 che vanno a sostituirsi alla coda della pagina 1 e alla testata della pagina 2, infatti se noti l'altezza delle prime quattro righe fa 120 e quella delle ultime tre fa 75.
Se ora ripeti il procedimento:
- Seleziona le righe da 5 a 16 e copiale in memoria con CTRL-C
- Clicca col destro sul numero di riga 31 e clicca su Inserisci celle copiate
- Clicca su una qualsiasi cella per annullare la selezione precedente
- Clicca col destro sul numero di riga 31 e clicca su Inserisci
- Clicca col destro sul numero di riga 32 e clicca su Inserisci
- Porta l'altezza della riga 31 a 75 px
- Porta l'altezza della riga 32 a 120 px
Otterrai la fattura con tre pagine: qui, qui e qui.
In questo modo quindi, inserendo le righe di dettaglio a gruppi di cinque e regolando le altezze, si ottiene che
- Tutte le pagine hanno intestazioni e piè di pagina (punti 1 e 5)
- La prima pagina ha la testata (punto 2)
- L'ultima pagina ha la coda (punto 4)
Come vedi quindi si tratta solo di definire esattamente gli spazi da dare alle tre zone della fattura: Testa / Corpo / Coda e poi determinare l'esatta sequenza di azioni da compiere per aggiungere una pagina. Fatto questo diventa una banalità fare la macro perché basterà registrare la sequenza e assegnarla a un tasto funzione.
Quindi prepara il tuo modello di fattura, misura esattamente tutti gli spazi, prova a seguire il procedimento che ti ho detto e fammi sapere come va.
Ciao