Condividi tramite

excel: cambiare riga da ripetere come 1 riga di ogni foglio in fase di stampa

Anonimo
2019-01-23T15:26:51+00:00

ho un foglio di 170 righe ed N colonne.

Nella stampa vorrei che su ogni pagina venisse stampata:

  • la riga 1 per le prime 136 righe;
  • la riga 137 per le righe da 137 a 160.

Ho provato la modalità Layout di pagina > stampa titoli > area di stampa (a1:n136) > righe da ripetere in alto ($1:$1)

mi stampa le prime 136 righe e non mi consente di inserire i dati del secondo blocco.

Lo si può fare? come?

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

5 risposte

Ordina per: Più utili
  1. Anonimo
    2019-01-25T10:28:08+00:00

    Ciao Norman,

    sei scomparso?

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  2. Anonimo
    2019-01-23T18:36:13+00:00

    ultima annotazione

    ho provato a scaricare il tuo file di prova senza riuscirci. L'ho aperto su web. Esso è composto di 2 colonne di 136+136 righe. la prima colonna di nomi minuscolo fino a riga 136 ripetuti in maiuscolo per altre 136 righe e la seconda il numero progressivo da 1 a 136 ripetuto nella seconda parte.

    Che prova avrei dovuto fare?

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  3. Anonimo
    2019-01-23T18:25:15+00:00

    a quello che avevo già scritto aggiungo quello che accade sul Mac.

    Premesso che ho fatto con office 2010 su XP. Ho aperto il file xlsm da Mac e mi stampa solo le righe da 137 a 160.

    Come mai?

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2019-01-23T18:18:05+00:00

    Ciao Norman,

    funziona alla grande l'unico problema che ho dimenticato di evidenziare è che non stampa le righe da 161 a 170 che nel caso venissero stampate su pagine diverse dovrebbero stampare la riga 161.

    Un'ultima domanda: vorrei inserire una firma (immagine) nel piè di pagina sulla destra. Ho già a sx il nome del file e a dx la data e la ver del file. Come posso fare? avevo pensato ad una casella di testo con la firma ma non riesco ad inserirla la casella.

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2019-01-23T16:50:10+00:00

    Ciao mfrisco0,

    ho un foglio di 170 righe ed N colonne.

    Nella stampa vorrei che su ogni pagina venisse stampata:

    • la riga 1 per le prime 136 righe;
    • la riga 137 per le righe da 137 a 160.

    Ho provato la modalità Layout di pagina > stampa titoli > area di stampa (a1:n136) > righe da ripetere in alto ($1:$1)

    mi stampa le prime 136 righe e non mi consente di inserire i dati del secondo blocco.

    Lo si può fare? come?

    Prova qualcosa del genere:

    • Alt+F11 per aprire l'editor di VBA
    • Ctrl+R per accedere alla finestra Project Explorer ('Gestione progetti')
    • Fai doppio clic sul modulo ThisWorkbook (Questa_cartella_di_Lavoro) del file e incolla il seguente codice:

    '=========>>

    Option Explicit

    '--------->>

    Private Sub Workbook_BeforePrint(Cancel As Boolean)

        Dim Rng As Range, Rng2 As Range

        Const sFoglio As String = "Foglio1"           '<<=== Modifica

        Const sRighe As String = "$1:$136"          '<<=== Modifica

        Const sRighe2 As String = "$137:$160"    '<<=== Modifica

        If ActiveSheet.Name = sFoglio Then

            On Error GoTo XIT

            Application.EnableEvents = False

            With ActiveSheet

                Set Rng = Intersect(.UsedRange, .Rows(sRighe))

                With .PageSetup

                    .PrintTitleRows = "$1:$1"

                    .PrintTitleColumns = ""

                    .PrintArea = Rng.Address

                End With

                .PrintOut

                Set Rng2 = Intersect(.UsedRange, .Rows(sRighe2))

                With .PageSetup

                    .PrintTitleRows = sRighe2

                    .PrintTitleColumns = ""

                    .PrintArea = Rng2.Address

                End With

                .PrintOut

            End With

        End If

    XIT:

        Application.EnableEvents = True

    End Sub

    '<<=========

    • Alt+Q per chiudere l'editor di VBA e tornare a Excel
    • Salva il file con l’estensione xlsm

    Potresti scaricare il mio file di prova mFrisco20170122.xlsm

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento