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

    frank_ciccio
    Partecipante
      3 pts

      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
        58 pts

        Ciao @frank_ciccio,

        appena riesci, ricordati di dare riscontro a questa discussione:

        vba formato data

        #46647 Score: 0 | Risposta

        alexps81
        Moderatore
          58 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

          frank_ciccio
          Partecipante
            3 pts

            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: