Sviluppare funzionalita su Microsoft Office con VBA stampa da pulsante/macro non da barra degli strumenti

Login Registrati
Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
  • Autore
    Articoli
  • #46643 Score: 0 | Risposta

    Ciao a tutti.

    Nel workbook allegato in thisworkbook c'è una macro per disabilitare la stampa da barra degli strumenti per determinati fogli.

    Nel foglio utenti_errori c'è un pulsante giallo per stampare il foglio con una macro che è nel modulo1

    La macro del modulo1 non funziona perchè è disabilitato la stampa.

    Come correggere senza togliere da thisworkbook il nome del foglio utenti_errori ?

    Grazie

    Allegati:
    You must be logged in to view attached files.
    #46646 Score: 0 | Risposta

    alexps81
    Moderatore
      55 pts

      Ciao @frank_ciccio,

      appena riesci, ricordati di dare riscontro a questa discussione:

      vba formato data

      #46647 Score: 0 | Risposta

      alexps81
      Moderatore
        55 pts

        Se il tuo obiettivo è rendere stampabile solo il Foglio "Utenti_Errori" mentre impedire la stampa a tutti gli altri, dovresti modificare la macro così:

        Nel Modulo Standard:

        Option Explicit
        
        Sub stampa_righe_attive() '09/07/22
        
        Dim ws1 As Worksheet
        Set ws1 = ThisWorkbook.Sheets(1)
        Dim x As Long
        Dim avviso As Integer
        
        x = ws1.Cells(Rows.Count, 3).End(xlUp).Row
        
        ws1.PageSetup.PrintArea = "A2:R" & x '<<< range
        
        '====perché prima istanzi il Foglio "Utenti_Errori e poi lo distruggi qui????====
        'Set ws1 = Nothing
        '============================================================================
        
        'Modifica la routine così
        avviso = MsgBox("Stampare solo righe attive?....", vbInformation + vbYesNo + vbDefaultButton2, "AVVISO")
        If avviso = vbNo Then Exit Sub
        
        ws1.PageSetup.Zoom = False
        ws1.PageSetup.FitToPagesTall = False
        ws1.PageSetup.FitToPagesWide = 1
        ThisWorkbook.PrintPreview 'Copies:=1, Collate:=True
        
        
        Set ws1 = Nothing '<----qui lo devi distruggere
        
        End Sub
        

        Mentre nell'evento Workbook_BeforePrint:

        Option Explicit
        
        Private Sub Workbook_BeforePrint(Cancel As Boolean)
        
        If ActiveSheet.Name <> "Utenti_Errori" Then
            MsgBox "Questo foglio < " & ActiveSheet.Name & " > non è stampabile dalla barra" & Chr(13) & _
                   "degli strumenti usa il pulsante nel foglio!", vbCritical + vbOKOnly, "ERRORE!"
            Cancel = True
        End If
           
        End Sub

        per favore dai riscontro e se risolvi spunta "Risolto". Grazie

        #46659 Score: 0 | Risposta

        Grazie alexps81, devo provarlo in ufficio.

      Login Registrati
      Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
      Rispondi a: stampa da pulsante/macro non da barra degli strumenti
      Gli allegati sono permessi solo ad utenti REGISTRATI
      Le tue informazioni: