Risultati da 1 a 7 di 7

Discussione: Stampare vari range dello stesso foglio



  1. #1
    L'avatar di Vincenzo Damiani
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Molfetta
    Età
    58
    Messaggi
    422
    Versione Office
    2010
    Likes ricevuti
    13
    Likes dati
    637

    Stampare vari range dello stesso foglio

    Un saluto a tutti voi,
    Chiedo cortesemente un aiuto nel creare una macro di stampa che mi stampi vari range definiti, fino all'ultima riga piena, presenti nello stesso foglio.
    Mi spiego meglio:
    nel foglio Stat_Glob,del file allegato, devo stampare il range H2:M ultima riga piena(satistica per cliente), Range O2:T ultima riga piena(statistica per azienda)
    e Range V2:AA ultima rica piena (statistica per Agente).
    prima di ogni stampa un messaggio che mi chede se stampare quella determinata statistica(se SI stampa e passa alla prossima se NO passa alla prossima).
    allego file
    Grazie
    File Allegati File Allegati
    Windows8.1 office 2010

  2. #2

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2810
    Versione Office
    Excel 2013
    Likes ricevuti
    1021
    Likes dati
    979

    Re: Stampare vari range dello stesso foglio

    Ciao, @Vincenzo Damiani, hai allegato un file con password (quindi è come se non lo avessi allegato)
    Prova con questa routine:
    Codice: 
    Sub STAMPA()
    Dim uRiga As Range
    Dim Domanda As VbMsgBoxResult
    
    
    uRiga = Sheets("Stat_Glob").Range("h" & Rows.Count).End(xlUp).Row
    Domanda = MsgBox("Vuoi stampare il range(H2:M" & uRiga & ")?", vbYesNo, "Stampa")
    If Domanda = vbYes Then
        Range("H2:M" & uRiga).PrintOut
    End If
    
    
    uRiga = Sheets("Stat_Glob").Range("o" & Rows.Count).End(xlUp).Row
    Domanda = MsgBox("Vuoi stampare il range(O2:T" & uRiga & ")?", vbYesNo, "Stampa")
    If Domanda = vbYes Then
        Range("O2:T" & uRiga).PrintOut
    End If
    
    
    uRiga = Sheets("Stat_Glob").Range("v" & Rows.Count).End(xlUp).Row
    Domanda = MsgBox("Vuoi stampare il range(V2:AA" & uRiga & ")?", vbYesNo, "Stampa")
    If Domanda = vbYes Then
        Range("V2:AA" & uRiga).PrintOut
    End If
    End Sub
    Naturalmente non l'ho potuta testa sempre causa password Editor VBA

  3. #3
    L'avatar di Vincenzo Damiani
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Molfetta
    Età
    58
    Messaggi
    422
    Versione Office
    2010
    Likes ricevuti
    13
    Likes dati
    637

    Re: Stampare vari range dello stesso foglio

    Citazione Originariamente Scritto da Rubik72 Visualizza Messaggio
    Ciao, @Vincenzo Damiani, hai allegato un file con password (quindi è come se non lo avessi allegato)
    Prova con questa routine:
    Codice: 
    Sub STAMPA()
    Dim uRiga As Range
    Dim Domanda As VbMsgBoxResult
    
    
    uRiga = Sheets("Stat_Glob").Range("h" & Rows.Count).End(xlUp).Row
    Domanda = MsgBox("Vuoi stampare il range(H2:M" & uRiga & ")?", vbYesNo, "Stampa")
    If Domanda = vbYes Then
        Range("H2:M" & uRiga).PrintOut
    End If
    
    
    uRiga = Sheets("Stat_Glob").Range("o" & Rows.Count).End(xlUp).Row
    Domanda = MsgBox("Vuoi stampare il range(O2:T" & uRiga & ")?", vbYesNo, "Stampa")
    If Domanda = vbYes Then
        Range("O2:T" & uRiga).PrintOut
    End If
    
    
    uRiga = Sheets("Stat_Glob").Range("v" & Rows.Count).End(xlUp).Row
    Domanda = MsgBox("Vuoi stampare il range(V2:AA" & uRiga & ")?", vbYesNo, "Stampa")
    If Domanda = vbYes Then
        Range("V2:AA" & uRiga).PrintOut
    End If
    End Sub
    Naturalmente non l'ho potuta testa sempre causa password Editor VBA
    Ciao Rubik72, e grazie per aver preso in considerazione la mia richiesta.
    Mi scuso se non ho inserito la password nella richiesta....non l'ho fatto perché aprendo il file alla pagina ("Stat_Glob") è evidenziata in rosso....
    ho inserito il codice postato e mi dà errore: "Variabile oggetto o variabile del blocco with non impostata"
    cosa devo correggere?
    grazie
    Windows8.1 office 2010

  4. #4

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2810
    Versione Office
    Excel 2013
    Likes ricevuti
    1021
    Likes dati
    979

    Re: Stampare vari range dello stesso foglio

    Citazione Originariamente Scritto da Vincenzo Damiani Visualizza Messaggio
    [...] la password nella richiesta....non l'ho fatto perché aprendo il file alla pagina ("Stat_Glob") è evidenziata in rosso....[...]
    non me n'ero accorto

    Il problema del debug è la errata dichiarazione di uRiga che deve essere di tipo Long e non Range.
    Comunque ho apportato una modifica visto che nelle celle con formule anche con valore "" (vuoto) vengono comunque ritenute "piene".
    Prova con questa routine:
    Codice: 
    Sub STAMPA()
    Dim uRiga As Long
    Dim Domanda As VbMsgBoxResult
    
    
    With Sheets("Stat_Glob")
        uRiga = 10
        Do Until .Range("H" & uRiga) = ""
            uRiga = uRiga + 1
        Loop
    
    
        Domanda = MsgBox("Vuoi stampare il range(H2:M" & uRiga & ")?", vbYesNo, "Stampa")
        If Domanda = vbYes Then
            .Range("H2:M" & uRiga).PrintOut
        End If
    
    
        uRiga = 10
        Do Until .Range("O" & uRiga) = ""
            uRiga = uRiga + 1
        Loop
        Domanda = MsgBox("Vuoi stampare il range(O2:T" & uRiga & ")?", vbYesNo, "Stampa")
        If Domanda = vbYes Then
            .Range("O2:T" & uRiga).PrintOut
        End If
    
    
        uRiga = 10
        Do Until .Range("V" & uRiga) = ""
            uRiga = uRiga + 1
        Loop
        Domanda = MsgBox("Vuoi stampare il range(V2:AA" & uRiga & ")?", vbYesNo, "Stampa")
        If Domanda = vbYes Then
            .Range("V2:AA" & uRiga).PrintOut
        End If
    
    
    End With
    End Sub

  5. I seguenti 2 utenti hanno dato un "Like" a Rubik72 per questo post:


  6. #5
    L'avatar di GiuseppeMN
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Mantova
    Messaggi
    864
    Versione Office
    2000 - 2013
    Likes ricevuti
    285
    Likes dati
    160

    Re: Stampare vari range dello stesso foglio

    Buona sera a Tutti.

    @ Vincenzo Damiani;
    dopo aver preso buona nota della Proposta da @ Rubik72 (che saluto), potresti considerare l'alternativa in allegato.

    Il Codice è il seguente:
    Codice: 
    Option Explicit
    
    Sub Stampe()
    Application.ScreenUpdating = False
    Dim URc As Long
    Dim Messaggio As String, Stile As String, Titolo As String
    Dim Risposta As VbMsgBoxResult
    Dim MyString
    
    '   Settaggio Stampa.
        With ActiveSheet.PageSetup
            .LeftFooter = "&""Book Antiqua,Normale""Stampa del: &D - &T"
            .CenterFooter = "&""Book Antiqua,Normale""Pagina &P di &N"
        End With
    '   Area di stampa H2:M ultima riga piena(Statistica per Cliente)
        URc = Range("I" & Rows.Count).End(xlUp).Row
        Titolo = "Area di stampa"
        Messaggio = "Vuoi stampare l'area ''satistica per Cliente '' H2:M" & URc
        Stile = vbYesNo + vbQuestion + vbDefaultButton2
            Risposta = MsgBox(Messaggio, Stile, Titolo)
        If Risposta = vbYes Then
            With ActiveSheet.PageSetup
            .CenterHeader = "Statistica per Cliente"
        End With
            ActiveSheet.PageSetup.PrintArea = "$H$2:$M$" & URc
                ActiveWindow.SelectedSheets.PrintPreview
        End If
    '   Area di stampa O2:T ultima riga piena(Statistica per Azienda)
        URc = Range("P" & Rows.Count).End(xlUp).Row
        Titolo = "Area di stampa"
        Messaggio = "Vuoi stampare l'area ''Statistica per Azienda '' O2:T" & URc
        Stile = vbYesNo + vbQuestion + vbDefaultButton2
            Risposta = MsgBox(Messaggio, Stile, Titolo)
        If Risposta = vbYes Then
            With ActiveSheet.PageSetup
            .CenterHeader = "Statistica per Azienda"
        End With
            ActiveSheet.PageSetup.PrintArea = "$O$2:$T$" & URc
                ActiveWindow.SelectedSheets.PrintPreview
        End If
    '   Area di stampa V2:AA ultima riga piena(Statistica per Agente)
        URc = Range("W" & Rows.Count).End(xlUp).Row
        Titolo = "Area di stampa"
        Messaggio = "Vuoi stampare l'area ''satistica per Agente '' V2:AA" & URc
        Stile = vbYesNo + vbQuestion + vbDefaultButton2
            Risposta = MsgBox(Messaggio, Stile, Titolo)
        If Risposta = vbYes Then
            With ActiveSheet.PageSetup
                .CenterHeader = "Statistica per Agente"
            End With
            ActiveSheet.PageSetup.PrintArea = "$V$2:$AA$" & URc
                ActiveWindow.SelectedSheets.PrintPreview
        End If
    
    '   Resetta area di stampa
        ActiveSheet.PageSetup.PrintArea = ""
            With ActiveSheet.PageSetup
                .CenterHeader = "Stampa intero DataSet"
            End With
    Application.ScreenUpdating = True
    End Sub


    A disposizione.

    Buona serata.

    Giuseppe

    Edit: Ho apportato alcune correzioni lessicali al Codice; nel File sono rimaste le imperfezioni da consegnare al pubblico ludibrio degli Utenti.
    File Allegati File Allegati
    Windows XP Excel 2000 - Windows 10 Excel 2013

  7. I seguenti 2 utenti hanno dato un "Like" a GiuseppeMN per questo post:


  8. #6
    L'avatar di Vincenzo Damiani
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Molfetta
    Età
    58
    Messaggi
    422
    Versione Office
    2010
    Likes ricevuti
    13
    Likes dati
    637

    Re: Stampare vari range dello stesso foglio

    Fantastico!
    è perfetta.
    Grazie mille Rubik
    Windows8.1 office 2010

  9. #7
    L'avatar di Vincenzo Damiani
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Molfetta
    Età
    58
    Messaggi
    422
    Versione Office
    2010
    Likes ricevuti
    13
    Likes dati
    637

    Re: Stampare vari range dello stesso foglio

    Ciao GiuseppeMN,
    non avevo visto la tua proposta.....Và oltre le mie aspettative.....E' fantastica anche la tua proposta...
    a questo punto ho solo l'imbarazzo della scelta.
    Grazie
    Windows8.1 office 2010

Discussioni Simili

  1. [Risolto] Stampare foglio base con più dati
    Di TrePdiPicciati nel forum Domande su Excel in generale
    Risposte: 3
    Ultimo Messaggio: 24/11/16, 16:31
  2. Risposte: 3
    Ultimo Messaggio: 14/11/16, 22:00
  3. Salvare i dati di un giorno sotto la colonna dello stesso giorno.
    Di Laura Belli nel forum Domande su Excel VBA e MACRO
    Risposte: 12
    Ultimo Messaggio: 26/08/16, 08:51
  4. Classifica con più prove dello stesso partecipante
    Di Alfetto nel forum Domande su Excel in generale
    Risposte: 27
    Ultimo Messaggio: 19/05/16, 01:23
  5. Stampare un report da una foglio excel
    Di Bivio nel forum Domande su Excel in generale
    Risposte: 22
    Ultimo Messaggio: 01/09/15, 11:08

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •