personalizza intestazioni
Hai un problema con Excel? 
personalizza intestazioni
di giancarlo (utente non iscritto) data: 17/08/2013 11:40:35
Si può modificare su più fogli dello stesso file contemporaneamente le intestazioni e i piè di pagina?
di isy data: 17/08/2013 11:56:24
Ciao
Cit: Si può modificare su più fogli dello stesso file contemporaneamente le intestazioni e i piè di pagina?
1) Stiamo parlando di Excel giusto
2) Con un ciclo Vba si modifica una scheda alla volta e si sostituiscono le impostazioni.
3) Se devi modificare le impostazioni di stampa del primo foglio che hai posizionato a sinistra su altre schede puoi:
Selezionando il primo foglio a sinistra + altre schede nel foglio aprire impostazioni di stampa premere Ok.
Ora i fogli avranno tutti la stessa formattazione.
Se hai una differente richiesta specifica con un allegato
di giancarlo (utente non iscritto) data: 17/08/2013 12:12:14
Grazie, quando le cose si sanno sono pure banali.
Se puoi mi indichi anche come e se possibile stampare i fogli di excel eliminando automaticamente le righe che contengono una cella specifica vuota?
Provo a spiegarmi meglio
il mio foglio è composto da 60 righe e da 4 colonne
io vorrei nel caso le celle comprese tra B5 e B60 qualora fossero vuote non facessero stampare la righa corrispondente.
ciao
di isy data: 17/08/2013 12:51:33
Ciao
La macro cerca l'ultima riga utilizzata, imposta il range e stampa la pagina.
Adatta il range "$A$1:$D$" & Riga se necessario ora parte dalla prima riga.
Sub Stampa_Scheda()
Riga = Columns("A:D").Find("*", , xlFormulas, , xlRows, xlPrevious).Row
ActiveSheet.PageSetup.PrintArea = "$A$1:$D$" & Riga
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
End Sub |
di giancarlo (utente non iscritto) data: 17/08/2013 13:10:45
Ciao isy,
ti allegato un file per rendere più chiaro quello che vorrei fare.
La macro che mi hai dato stampava tutte le righe da 1 a 60, io vorrei che stampasse solo quelle con le quantità inserite, oltre alle altre dove ho digitato un .; nel caso non si possa fare me lo puoi comunque dire?
di isy (utente non iscritto) data: 17/08/2013 13:51:00
Ciao
In alternativa potevi usare un filtro e togliere la spunta sul valore 0
Ho modificato il codice, nasconde le righe con lo zero e stampa il foglio
Sub Stampa_Scheda()
' Rimuovo i filtri se presenti nel foglio
If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData
' Cerco l'ultima riga da stampare
Riga = Columns("A:D").Find("*", , xlFormulas, , xlRows, xlPrevious).Row
' Scopro tutte le righe nascoste
Cells.EntireRow.Hidden = False
' Cerco i valori Zero nella prima colonna
' Nascondo le righe trovate
For ciclo = 3 To Riga
If Not IsEmpty(Cells(ciclo, 1).Value) Then
If IsNumeric(Cells(ciclo, 1)) Then
Rows(ciclo).EntireRow.Hidden = True
End If
End If
Next
' Imposto l'area di stampa
ActiveSheet.PageSetup.PrintArea = "$A$1:$D$" & Riga
' Stampo il foglio
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
End Sub |
di giancarlo (utente non iscritto) data: 17/08/2013 14:15:42
Ho provato la macro, e pare funzioni come quella di prima sia sul foglio 1 che sul foglio totali.
In effetti ho guardato che non ci fossero filtri come mi avevi detto ma non pare che esistano. Forse c'è un modo certo per verificarlo che io non conosco.
Per quanto concerne il discorso degli 0 che nel foglio 1 non sono presenti non sarebbe un problema perchè posso sempre inserirli.
In conclusione se non mi dai delle dritte non so come uscirne
di isy (utente non iscritto) data: 17/08/2013 14:22:52
Ciao
Riprova così, io toglievo solamente gli zeri nella prima colonna!
Sub Stampa_Scheda()
' Rimuovo i filtri se presenti nel foglio
If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData
' Cerco l'ultima riga da stampare
Riga = Columns("A:D").Find("*", , xlFormulas, , xlRows, xlPrevious).Row
' Scopro tutte le righe nascoste
Cells.EntireRow.Hidden = False
' Cerco i valori Zero nella quarta colonna
' Nascondo le righe trovate
For ciclo = 3 To Riga
If Not IsEmpty(Cells(ciclo, 4).Value) Then
If Cells(ciclo, 4).Value = 0 Then
Rows(ciclo).EntireRow.Hidden = True
End If
End If
Next
' Imposto l'area di stampa
ActiveSheet.PageSetup.PrintArea = "$A$1:$D$" & Riga
' Stampo il foglio
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
End Sub
|
di giancarlo (utente non iscritto) data: 17/08/2013 17:30:37
Perfetto.
grazie mille.
Vuoi Approfondire?