VBA - Come ottenere nell'anteprima di stampa la dicitura a piè di pagina "Pagina n di nr" ?

Anonimo
2023-03-07T19:36:46+00:00

Ho due variabili pagina e pagine, pagina si incrementa man mano che il foglio STAMPA arriva a 10 record e manda in anteprima di stampa, pagine deve contare tutti i record presenti in foglio1 e dividerli per 10 ottenendo così il numero di pagine totali come posso farlo con un for ?

Grazie

Sub Test_2()

*Dim i      As Integer* 

*Dim o      As Integer* 

*Dim ur     As Long* 

*Dim pagine   As Integer* 

*Dim pagina   As Integer* 

*i = 2* 

*o = 1* 

*ur = Foglio1.Range("A" & Rows.Count).End(xlUp).Row* 

*For Each pinco In Foglio1.Range("A2:A" & ur)* 

    *With Worksheets("STAMPA")* 

        *.Range("A1:E1").Font.Size = 15* 

        *.Range("A2:E11").Interior.Color = rgbLemonChiffon* 

        *.Cells(i, 1) = o* 

        *.Cells(i, 2) = pinco.Offset(0, 0)* 

        *.Cells(i, 3) = pinco.Offset(0, 1)* 

        *.Cells(i, 4) = Format(Now, "yyyy") - Format(pinco.Offset(0, 2), "yyyy")* 

        *.Cells(i, 5) = pinco.Offset(0, 3)* 

    *End With* 

    *Columns.AutoFit* 

    *i = i + 1* 

    *o = o + 1* 

    *If (i - 1) Mod 11 = 0 Then* 

        *i = 2* 

        *ActiveWindow.SelectedSheets.PrintOut 1, 3, 1, True, , , True* 

        *Worksheets("STAMPA").Range(Cells(2, 1), Cells(11, 5)).ClearContents* 

End If

*Next pinco* 

End Sub

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

3 risposte

Ordina per: Più utili
  1. Anonimo
    2023-03-08T06:10:37+00:00

    Ciao Fabrizio G!

    Siete i benvenuti!

    Migliori saluti Shakiru ·

    Questa risposta è stata tradotta automaticamente. Di conseguenza, potrebbero esserci errori grammaticali o espressioni strane.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2023-03-07T23:09:12+00:00

    Esatto! grazie mille! era quello che mi serviva! grazie!!

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2023-03-07T20:21:47+00:00

    Ciao Fabrizio G!

    Sono Shakiru, un consulente indipendente e un utente come te, e sono felice di aiutarti oggi.

    Forse è possibile utilizzare l'oggetto PageSetup in VBA per aggiungere il piè di pagina "Pagina n di nr" nell'anteprima di stampa

    Ecco una versione aggiornata del codice che include il piè di pagina:

    Sub Test_2() Dim i come intero Dim o Come intero Oscura il tuo As Long Pagine scure come numeri interi Pagina oscura come numero intero Dim totalRows As Long

    totalRows = Sheet1.Range("A" & Rows.Count). Fine(xlUp). Fila pages = WorksheetFunction.RoundUp(totalRows / 10, 0)

    Per pagina = 1 A pagine Con fogli di lavoro ("STAMPA"). PageSetup . CenterFooter = "Page " & page & " of " & pages Termina con

    i = 2 o = 1

    Per ogni pinco In Sheet1.Range("A" & (page - 1) * 10 + 2 & ":A" & WorksheetFunction.Min(page * 10 + 1, totalRows)) Con fogli di lavoro ("STAMPA") . Intervallo("A1:E1"). Font.Size = 15 . Intervallo("A2:E11"). Interior.Color = RGB(255, 253, 216) . Celle(i, 1) = o . Celle(i, 2) = pinco. Offset (0, 0) . Celle(i, 3) = pinco. Offset(0, 1) . Celle(i, 4) = Formato(Ora, "yyyy") - Formato(pinco. Offset(0, 2), "yyyy") . Celle(i, 5) = pinco. Offset(0, 3) Termina con

    Columns.AutoFit i = i + 1 o = o + 1 Prossimo pinco

    ActiveWindow.SelectedSheets.PrintOut 1, 3, 1, True, , , True Fogli di lavoro("STAMPA"). Intervallo(Celle(2, 1), Celle(11, 5)). ClearContents Pagina successiva Fine sub

    In questa versione aggiornata, ho aggiunto una nuova pagina variabile per calcolare il numero totale di pagine in base al numero di righe in Foglio1. Quindi, all'interno del ciclo esterno, ho impostato il piè di pagina per visualizzare il numero di pagina corrente e il numero totale di pagine.

    Nel ciclo interno, ho aggiornato l'istruzione For Each in modo che scorra le righe solo per la pagina corrente, in base al numero di pagina corrente e alla dimensione fissa della pagina di 10 righe. Infine, dopo aver stampato ogni pagina, ho aggiunto una riga per cancellare il contenuto dell'area stampata nel foglio STAMPA.

    Migliori saluti Shakiru ·

    Questa risposta è stata tradotta automaticamente. Di conseguenza, potrebbero esserci errori grammaticali o espressioni strane.

    La risposta è stata utile?

    0 commenti Nessun commento