Condividi:        

macro x area di stampa 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

macro x area di stampa Excel

Postdi libraio » 15/01/13 14:43

Buongiorno a tutti,
utilizzo Office 2003.
Vorrei automatizzare con una macro la selezione "area di Stampa" con successiva "anteprima di stampa" partendo da B1 (in colonna A ho inserito una serie di pulsanti comando), che comprenda tutte le celle occupate da dati.
Purtroppo non ne vengo a capo...qualcuno mi può aiutare? :oops:
Grazie
libraio
Utente Senior
 
Post: 329
Iscritto il: 04/01/10 20:31

Sponsor
 

Re: macro x area di stampa Excel

Postdi Anthony47 » 15/01/13 16:42

Ad esempio questa macro?
Codice: Seleziona tutto
Sub PAreaPw()
'
ActiveSheet.UsedRange
StartEnd = Split(ActiveSheet.UsedRange.Address, ":")
Range("B1").Select

If UBound(StartEnd, 1) > 0 Then PArea = "B1:" & StartEnd(1) Else PArea = "B1:" & StartEnd(0)
ActiveSheet.PageSetup.PrintArea = PArea
ActiveWindow.SelectedSheets.PrintPreview
ActiveWindow.RangeSelection.Select

End Sub

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro x area di stampa Excel

Postdi libraio » 15/01/13 17:40

Grazie Anthony,
la tua macro funziona alla perfezione, ma se dall'anteprima verifico la necessità di stringere una o più colonne, pur rilanciando la macro l'area di stampa rimane quella impostata precedentemente.
Es: i dati creano un'area di stampa di 4 fogli (2 per le colonne e 2 per le righe); restringo alcune colonne per ottimizzare la stampa e rilancio la macro per la nuova area di stampa: i dati ora occupano i primi 2 fogli, ma l'area di stampa si sviluppa comunque su 4 fogli (il 3° ed il 4° bianchi).

Approfitto ulteriormente... E' possibile con la stessa macro bordare le celle selezionate dall'area di stampa?

Grazie e scusami per l' "invadenza"...
libraio
libraio
Utente Senior
 
Post: 329
Iscritto il: 04/01/10 20:31

Re: macro x area di stampa Excel

Postdi Anthony47 » 16/01/13 01:19

Temo che sia UsedRange che restituisce un' area alterata; mi accorgo, ad esempio, che e' sufficiente che una cella sia formattata perche' UsedRange la consideri in uso.
Cambiamo radicalmente approccio e prova questa:
Codice: Seleziona tutto
Sub PAreaPw()
'
Range("B1").Select
LastR = Cells.Find(What:="*", After:=[A1], _
              SearchOrder:=xlByRows, _
              SearchDirection:=xlPrevious).Row
LastC = Cells.Find(What:="*", After:=[A1], _
              SearchOrder:=xlByColumns, _
              SearchDirection:=xlPrevious).Column

ActiveSheet.PageSetup.PrintArea = Range("B1", Cells(LastR, LastC)).Address
ActiveWindow.SelectedSheets.PrintPreview
ActiveWindow.RangeSelection.Select
'
End Sub

L' area di stampa risultera' bordata in tratteggio, dopo l' esecuzione della macro.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro x area di stampa Excel

Postdi libraio » 16/01/13 10:44

La nuova macro è perfetta; sono anche riuscito ad inserire la bordatura delle celle!
Ancora grazie
libraio
libraio
Utente Senior
 
Post: 329
Iscritto il: 04/01/10 20:31

Re: macro x area di stampa Excel

Postdi elios66 » 10/03/14 19:01

Immagine
Ciao io ho usato la macro di Anthony con il foglio impostato come si vede nell'immagine. ma mi seleziona 16 pagine anzichè solo quelle dove sono inserite i dati. Qual può essere il problema?
Grazie :-?
Win 8 - Office 2010

http://www.filedropper.com/
elios66
Utente Junior
 
Post: 48
Iscritto il: 04/02/14 18:32

Re: macro x area di stampa Excel

Postdi elios66 » 10/03/14 19:37

Immagine
Win 8 - Office 2010

http://www.filedropper.com/
elios66
Utente Junior
 
Post: 48
Iscritto il: 04/02/14 18:32

Re: macro x area di stampa Excel

Postdi Anthony47 » 11/03/14 00:02

Inserisci queste due istruzioni in questa posizione, ti selezioneranno la cella che dovrebbe contenere qualcosa che la fa apparire in uso.
Codice: Seleziona tutto
Cells(LastR,LastC).Select
Stop
ActiveSheet.PageSetup.PrintArea = Range("B1", Cells(LastR, LastC)).Address   '<< ESISTENTE

Eventualmente "cancella" la cella e riprova.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "macro x area di stampa Excel":


Chi c’è in linea

Visitano il forum: Nessuno e 35 ospiti