personalizza intestazioni



  • 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.