Aiutamici Forum
Benvenuto Ospite Cerca | Topic Attivi | Utenti | | Log In | Registra

Stampa di una selezione multipla su una pagina Opzioni
albyu2
Inviato: Wednesday, May 03, 2006 9:24:44 PM
Rank: Member

Iscritto dal : 2/5/2003
Posts: 0
ciao, ho questo problema:
vorrei stampare in una sola pagina (usando l'opzione in 'imposta pagina' x adattare il contenuta a 1 pagina di altezza x 1 di larghezza) una selezione multipla del tipo Range("A81:J106,A329:N343"). Tutto questo è inserito in una macro, pero non riesco a trovare il codice che mi permetta di adattare i 2 range in un pagina, mi stampa 1 pagina x ogni range.
L'opzione in imposta pagina è già selezione in questo modo x tutto il documento.
ecco la mia semplice macro:
Sub riepilogo_piu_albo()
Range("A81:J106,A329:N343").PrintOut Copies:=1, Collate:=True, preview:=True
End Sub
pero il risultato sono 2 pagine!
help!!
grazie mille!
Sponsor
Inviato: Wednesday, May 03, 2006 9:24:44 PM

 
a10n11
Inviato: Thursday, May 04, 2006 10:56:36 AM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
Devi anche impostare i parametri da codice per stampare su una sola pagina. Modifica il codice come segue:

Sub riepilogo_piu_albo()
With ActiveSheet.PageSetup
.FitToPagesWide=1
.FitToPagesTall=1
End With
Range("A81:J106,A329:N343").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, preview:=True
End Sub

saluti
Andrea


albyu2
Inviato: Thursday, May 04, 2006 11:12:01 AM
Rank: Member

Iscritto dal : 2/5/2003
Posts: 0
<BLOCKQUOTE id=quote><font size=1 face="Sans Serif, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote>
salve
Devi anche impostare i parametri da codice per stampare su una sola pagina. Modifica il codice come segue:

Sub riepilogo_piu_albo()
With ActiveSheet.PageSetup
.FitToPagesWide=1
.FitToPagesTall=1
End With
Range("A81:J106,A329:N343").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, preview:=True
End Sub

saluti
Andrea

<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>

mi spiace ma non ottengo il risultato che mi aspetto! con questo codice mi stamperebbe ancora l'area di stampa che ho selezionato nel documento. ho provato a modificare il codice in questo modo:
Sub riepilogo_piu_albo()
With ActiveSheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Range("A81:J106,A329:N343").PrintOut Copies:=1, Collate:=True, preview:=True
End Sub

ma il risultato è sempre la stampa di 2 pagine, 1 x ogni selezione!
a10n11
Inviato: Thursday, May 04, 2006 11:47:42 AM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
ci deve essere qualcosa che mi sfugge nella tua domanda.
Non vuoi che il "Range("A81:J106,A329:N343")" sia stampato adattando il tutto su una pagina??
non comprendo quale il problema.
saluti
Andrea


albyu2
Inviato: Thursday, May 04, 2006 12:07:12 PM
Rank: Member

Iscritto dal : 2/5/2003
Posts: 0
<BLOCKQUOTE id=quote><font size=1 face="Sans Serif, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote>
salve
ci deve essere qualcosa che mi sfugge nella tua domanda.
Non vuoi che il "Range("A81:J106,A329:N343")" sia stampato adattando il tutto su una pagina??
non comprendo quale il problema.
saluti
Andrea

<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>

si esatto, pero nel mio documento è impostata un'area di stampa (che deve esserci sempre) e questo range composto da 2 selezioni è al di fuori di quest'area di stampa. Se uso il codice che mi hai segnalato tu, continua a stamparmi la mia area di stampa originale e non quel range. Se uso il codice che ti scritto nell'ultimo messaggio, mi stampa ancora una selezione x pagine e non entrambe su una sola!
Spero di esser stato un piu preciso!
grazie ancora
a10n11
Inviato: Thursday, May 04, 2006 12:32:32 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
Capito il problema.
Eccoti una possibile soluzione, impostando l'opzione nascondi righe.
vedi se ti va bene. Controlla se è giusto il range di stampa altrimenti modifica i valori di cells()

Sub riepilogo_piu_albo()
dim riga as integer
dim colonna as integer
With ActiveSheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Rows("107:107").Select
Range(Selection, Selection.End(xlDown).Offset(-1, 0)).Select
Selection.EntireRow.Hidden = True
riga = Range("A81").End(xlDown).Row
colonna = Cells(riga, 1).End(xlToRight).Column
Range(Cells(81, 1), Cells(riga, colonna)).Select
Selection.PrintOut Copies:=1, Collate:=True
Selection.EntireRow.Hidden = False
Range("a1").Select
End Sub

saluti
Andrea

albyu2
Inviato: Thursday, May 04, 2006 1:04:15 PM
Rank: Member

Iscritto dal : 2/5/2003
Posts: 0
<BLOCKQUOTE id=quote><font size=1 face="Sans Serif, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote>
salve
Capito il problema.
Eccoti una possibile soluzione, impostando l'opzione nascondi righe.
vedi se ti va bene. Controlla se è giusto il range di stampa altrimenti modifica i valori di cells()

Sub riepilogo_piu_albo()
dim riga as integer
dim colonna as integer
With ActiveSheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Rows("107:107").Select
Range(Selection, Selection.End(xlDown).Offset(-1, 0)).Select
Selection.EntireRow.Hidden = True
riga = Range("A81").End(xlDown).Row
colonna = Cells(riga, 1).End(xlToRight).Column
Range(Cells(81, 1), Cells(riga, colonna)).Select
Selection.PrintOut Copies:=1, Collate:=True
Selection.EntireRow.Hidden = False
Range("a1").Select
End Sub

saluti
Andrea
<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>

purtroppo neanche cosi riesco... credo che con .End(xlDown) vuoi arrivare all'ultima riga vuota e stamapare dopo quella. Il problema è che tra i miei due range di selezione ci sono altre tabelle. Infatti con questo codice mi stampa la prima selezione del range e la tabella subito successiva a questa nel folgio di excel, ma non la seconda selezione del mio range. Pero le due tabelle vengono inserite in un'unica pagina, pero senza una riga vuota che le separi!
a10n11
Inviato: Thursday, May 04, 2006 3:09:10 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
non avevo considerato la possibilità che tra le due selezioni l'area fosse occupata da altri dati.

vedi questa nuova modifica.
NB. per aggiungere una riga vuota alla stampa qualora la riga 328 non fosse vuota, ho fatto in modo che la macro aggiunga una riga vuota e la cancelli al termine della elaborazione.

Sub riepilogo_piu_albo()
With ActiveSheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Rows("107:328").Select
Selection.EntireRow.Hidden = True
Rows("329:329").Insert Shift:=xlDown
Range(Cells(81, 1), Cells(344, 14)).Select
Selection.PrintOut Copies:=1, Collate:=True
Selection.EntireRow.Hidden = False
Rows("329:329").Delete
Range("a1").Select
End Sub

saluti
Andrea

albyu2
Inviato: Friday, May 05, 2006 11:39:20 AM
Rank: Member

Iscritto dal : 2/5/2003
Posts: 0
<BLOCKQUOTE id=quote><font size=1 face="Sans Serif, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote>
salve
non avevo considerato la possibilità che tra le due selezioni l'area fosse occupata da altri dati.

vedi questa nuova modifica.
NB. per aggiungere una riga vuota alla stampa qualora la riga 328 non fosse vuota, ho fatto in modo che la macro aggiunga una riga vuota e la cancelli al termine della elaborazione.

Sub riepilogo_piu_albo()
With ActiveSheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Rows("107:328").Select
Selection.EntireRow.Hidden = True
Rows("329:329").Insert Shift:=xlDown
Range(Cells(81, 1), Cells(344, 14)).Select
Selection.PrintOut Copies:=1, Collate:=True
Selection.EntireRow.Hidden = False
Rows("329:329").Delete
Range("a1").Select
End Sub

saluti
Andrea
<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>

purtroppo c'e un altro problema!
tra queste due selezioni nel range, ci sono delle celle unite (nascoste) che sono al di fuori dell'intervallo di colonne del mio range. mi spiego meglio:
- la selezione 1 arriva alla colonna J
- la selezione 2 arriva alla colonna N
- tra le due selezioni ho delle celle unite fino alla colonna W
quindi, con il tuo ultimo codice, la stampa non è piu in questo range("A81:J106,A329:N343"), ma in questo ("A81:W106,A329:W343")!
sinceramente speravo fosse un po piu semplice!!!
attendo notizie...
grazie


Edited by - albyu2 on 05/05/2006 12:10:45
a10n11
Inviato: Friday, May 05, 2006 6:08:44 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve.
Premessa: L'unione di celle in Excel può rendere più presentabile un documento ma non ne facilita certo la gestione.
Stante la presenza di queste celle bisogna percorrere una strada alternativa che potrebbe essere questa:(poi non mi vengono altre soluzioni)

1) dici che il tuo foglio ha già impostata un'area di stampa che deve essere mantenuta. Supponiamo che questa sia impostata nel range A1:D30.
2) impostiamo il codice macro come sotto facendo in modo di generare una nuova area di stampa con la selezione non contigua, stampare, e ripristinare l'area di stampa originale.

Questo è il codice:

Sub riepilogo_piu_albo()
With ActiveSheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Rows("107:328").Select
Selection.EntireRow.Hidden = True
Rows("329:329").Insert Shift:=xlDown
ActiveSheet.PageSetup.PrintArea = "a81:n344"
ActiveSheet.PrintOut copies:=1, collate:=True
Selection.EntireRow.Hidden = False
Rows("329:329").Delete
Range("a1").Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$D$30"
End Sub

saluti
Andrea

Utenti presenti in questo topic
Guest


Salta al Forum
Aggiunta nuovi Topic disabilitata in questo forum.
Risposte disabilitate in questo forum.
Eliminazione tuoi Post disabilitata in questo forum.
Modifica dei tuoi post disabilitata in questo forum.
Creazione Sondaggi disabilitata in questo forum.
Voto ai sondaggi disabilitato in questo forum.

Main Forum RSS : RSS

Aiutamici Theme
Powered by Yet Another Forum.net versione 1.9.1.8 (NET v2.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.