Buongiorno a tutti.
Il problema è il seguente: devo modificare una macro già esistente (cher trasforma i dati da riga in colonna, li stampa e salva) in modo che mi stampi 4 copie dell'area di stampa selezionata (che deve rimanere invariata) in un foglio A4 in modo che ci sia una copia dei dati in ogni quarto del foglio (quindi due copie sopra e due copie sotto su un foglio orientato verticalmente).
La macro che utilizzo ora è la seguente:
Come posso sistemarla?Codice:Sub Stampa() r = ActiveCell.Row Range("A" & r & ":I" & r).Copy Range("L1").PasteSpecial xlPasteValuesAndNumberFormats, xlPasteSpecialOperationNone, , True ActiveSheet.PageSetup.PrintArea = "$L$1:$L$9" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.PageSetup.PrintArea = "" End Sub
Grazie mille.
Ultima modifica fatta da:Rubik72; 22/09/16 alle 10:53
Ciao Nicola
ti ricordo che, per una migliore lettura del forum, di inserire il codice nei previsti TAG (questa volta l'ho fatto io)
Per il tuo problema, è meglio se alleghi un file di esempio senza dati sensibili.
Grazie!
Ecco il file che utilizzo per le prove.
Il File ha 2 fogli (DEPOSITO - DOCUMENTO). Su quale foglio deve intervenire la macro?![]()
Sul primo, il foglio DEPOSITO è quello che contiene i dati della macro che voglio modificare.
Se ho capito bene, prova così:
Codice:Sub Stampa() Dim R As Long R = ActiveCell.Row Range("A" & R & ":I" & R).Copy Range("L1,Q1,L26,Q26").PasteSpecial xlPasteValuesAndNumberFormats, xlPasteSpecialOperationNone, , True ActiveSheet.PageSetup.PrintArea = "$L$1:$Q$48" ActiveWindow.SelectedSheets.PrintOut _ Copies:=1, _ Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.PageSetup.PrintArea = "" End Sub
Perfetto!!!!
Grazie Mille!!!!!
Grazie del tuo riscontro. Torna quando vuoi.
Condividi nei tuoi social!