Zoom pagina



  • Zoom pagina
    di Claudio (utente non iscritto) data: 10/09/2013 17:21:46

    Buonasera a tutto il forum. Ho questo problemino che spero di spiegarlo bene: ho un file excel che uso al lavoro ma a volte anche a casa solo che al lavoro ho un pc fisso con il monitor da 19 pollici mentre a casa un portatile da 15.4. Quando lo uso al lavoro tutto bene mentre a casa ogni volta che lo uso devo diminuire lo zoom a certi fogli all'80% per esempio, ad altri al 85% ecc. È una cartella di lavoro con 8 fogli. C'è qualcosa che si può fare per rimediare a ciò? Grazie



  • di totygno71 data: 10/09/2013 19:46:39

    Ho trovato questo codicillo che opportunamente tarato ai tuoi bisogni di zoom fa quello che richiedi...
    Ciao


     
    Declare Function GetSystemMetrics32 Lib "user32" _ 
    Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long 
     
     
    Sub ScreenRes() 
        Dim lResWidth As Long 
        Dim lResHeight As Long 
        Dim sRes As String 
         
        lResWidth = GetSystemMetrics32(0) 
        lResHeight = GetSystemMetrics32(1) 
        sRes = lResWidth & "x" & lResHeight 
        Select Case sRes 
        Case Is = "800x600" 
            ActiveWindow.Zoom = 65 
        Case Is = "1024x768" 
            ActiveWindow.Zoom = 75 
        Case Is = "1152x864" 
            ActiveWindow.Zoom = 85 
        Case Is = "1280x768" 
            ActiveWindow.Zoom = 90 
        Case Is = "1280x1024" 
            ActiveWindow.Zoom = 100 
        Case Else 
            ActiveWindow.Zoom = 100 
        End Select 
    End Sub 
    



  • di Claudio (utente non iscritto) data: 10/09/2013 20:09:35

    Ciao Totygno71. Grazie del codice, ma dove lo devo inserire? Così come sta in thisworkbook o in un modulo?



  • di totygno71 data: 10/09/2013 20:22:59

    eccomi...
    con questo modo puoi settare manualmente variando il valore dello zoom a seconda della risoluzione del monitor e della grandezza dei vari fogli.



     
    'in un modulo metti questo
    Declare Function GetSystemMetrics32 Lib "user32" _
    Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long
    
    'all'apertura file
    Private Sub Workbook_Open()
    Dim lResWidth As Long
        Dim lResHeight As Long
        Dim sRes As String
         
        lResWidth = GetSystemMetrics32(0)
        lResHeight = GetSystemMetrics32(1)
        sRes = lResWidth & "x" & lResHeight
        Select Case sRes
        Case Is = "800x600"
            ActiveWindow.Zoom = 65
        Case Is = "1024x768"
            ActiveWindow.Zoom = 75
        Case Is = "1152x864"
            ActiveWindow.Zoom = 85
        Case Is = "1280x768"
            ActiveWindow.Zoom = 90
        Case Is = "1280x1024"
            ActiveWindow.Zoom = 100
        Case Else
            ActiveWindow.Zoom = 100
        End Select
    End Sub
    
    ---------------------------------------
    ad ogni foglio
    Private Sub Worksheet_Activate()
        Dim lResWidth As Long
        Dim lResHeight As Long
        Dim sRes As String
         
        lResWidth = GetSystemMetrics32(0)
        lResHeight = GetSystemMetrics32(1)
        sRes = lResWidth & "x" & lResHeight
        Select Case sRes
        Case Is = "800x600"
            ActiveWindow.Zoom = 65
        Case Is = "1024x768"
            ActiveWindow.Zoom = 75
        Case Is = "1152x864"
            ActiveWindow.Zoom = 85
        Case Is = "1280x768"
            ActiveWindow.Zoom = 90
        Case Is = "1280x1024"
            ActiveWindow.Zoom = 100
        Case Else
            ActiveWindow.Zoom = 100
        End Select
    End Sub
    
    



  • di Claudio (utente non iscritto) data: 10/09/2013 20:43:04

    Per settare manualmente cosa intendi? Il codice che hai inserito nel tuo primo post quindi non serve più?



  • di totygno71 data: 10/09/2013 20:47:10

    nel senso che:
    se nel foglio1 a casa hai una risoluzione 800X600 e devi mettere uno zomm di 70% metti questi valori in:
    Case Is = "800x600"
    ActiveWindow.Zoom = 70
    anziche
    Case Is = "800x600"
    ActiveWindow.Zoom = 65
    stessa cosa per gli altri 8 fogli



  • di Claudio (utente non iscritto) data: 10/09/2013 20:53:19

    Ok, ora ho capito. Appena posso provo e ti faccio sapere



  • di Claudio (utente non iscritto) data: 10/09/2013 21:00:02

    Mi sta venendo un dubbio: sia a casa che al lavoro ho la risoluzione 1024x768 solo che al lavoro con il monitor di 19 pollici si vede tutta la parte di foglio dove lavoro mentre a casa con il 15.4 la parte di giù non si vede. Facendo come dici tu se sto lavorando a casa e salvo le modifiche, portando il file excel al lavoro avrò le "impostazioni" che ho usato per il mio portatile!



  • di totygno71 data: 10/09/2013 21:00:05

    k



  • di Claudio (utente non iscritto) data: 10/09/2013 21:02:45

    H



  • di totygno71 data: 10/09/2013 21:06:11

    H? CHE VORDI'?



  • di Claudio (utente non iscritto) data: 10/09/2013 21:11:02

    La H è muta mentre la K che vordì?



  • di totygno71 data: 10/09/2013 21:25:58

    K = Key = OK



  • di Claudio (utente non iscritto) data: 10/09/2013 21:28:44

    Ricapitolando: io questo file excel tramite pen drive lo porto dal lavoro a casa e viceversa e faccio delle modifiche importanti sia al lavoro che a casa. Con il tuo codice il problema dello zoom lo risolvo sia a casa che al lavoro? Comunque la k non l'ho capita



  • di totygno71 data: 10/09/2013 21:34:49

    si ma devi impostare in base alla risoluzione che hai a casa e a lavoro e in base ai fogli gli zoom desiderati



  • di Claudio (utente non iscritto) data: 10/09/2013 21:40:11

    Io sia al lavoro che a casa ho la risoluzione 1024x768, il problema è che al lavoro il monitor è 19 pollici mentre a casa 15.4. Quindi siccome la risoluzione è uguale va bene lo stesso?



  • di totygno71 data: 10/09/2013 21:47:07

    ?
    due risoluzioni uguali per due monitor cosi diversi???

    No il codice va bene per regolare lo zoom in base alla risoluzione ma se sono diverse non mi viene in mente nulla...



  • di Claudio (utente non iscritto) data: 10/09/2013 21:53:07

    Al lavoro c'è la risoluzione 1024x768 ed è ottimizzata per la lan e quindi credo di non poter far nulla mentre a casa posso fare quello che voglio. Io ho messo 1024x768, quindi quale dovrei mettere per non avere problemi?



  • di totygno71 data: 10/09/2013 22:04:50

    Non ho idea... devi cambiarla e provare finche non trovi quella più idonea



  • di Claudio (utente non iscritto) data: 10/09/2013 22:07:05

    Ok. Buona serata



  • di totygno71 (utente non iscritto) data: 11/09/2013 08:34:19

    Almeno che non si usino 2 macro
    una a lavoro e una in ufficio da lanciare al bisogno!



  • di Claudio (utente non iscritto) data: 11/09/2013 12:40:17

    E per le macro concretamente come bisogna fare?



  • di totygno71 (utente non iscritto) data: 11/09/2013 13:06:52

    In pratica quando sei a casa lanci la macro chiamamola casa, quando sei unff lanci la macro uff.
    Ti puo andare bene?



  • di totygno71 data: 11/09/2013 13:25:41

    esempio da adattare alle tue esigenze (in base al numero di folgi del file e ai differenti zoom )
     
    Sub Zoom_Casa()
    Dim ws As Worksheet, lngZoom As Long
    For Each ws In ThisWorkbook.Worksheets
        Select Case ws.Name
        Case "Foglio1": lngZoom = 80
        Case "Foglio2": lngZoom = 85
        Case "Foglio3": lngZoom = 105
        End Select
        Application.ScreenUpdating = False
        With ws
            .Select
            ActiveWindow.Zoom = lngZoom
        End With
    Next ws
    Sheets(1).Activate
    Application.ScreenUpdating = True
    
    End Sub
    
    Sub Zoom_Uff()
    Dim ws As Worksheet, lngZoom As Long
     For Each ws In ThisWorkbook.Worksheets
        Select Case ws.Name
        Case "Foglio1": lngZoom = 115
        Case "Foglio2": lngZoom = 108
        Case "Foglio3": lngZoom = 78
         End Select
        Application.ScreenUpdating = False
        With ws
            .Select
            ActiveWindow.Zoom = lngZoom
        End With
    Next ws
     Sheets(1).Activate
    Application.ScreenUpdating = True
    
    End Sub
    



  • di Claudio (utente non iscritto) data: 11/09/2013 14:35:50

    Ok, provo. Ma il codice lo devo mettere in un modulo? Il pulsante della macro nel foglio 1 lo devo mettere?



  • di nichicanta (utente non iscritto) data: 11/09/2013 14:39:59

    Claudio, prova questo File se ti va bene.
    Un saluto a tutti gli amici del forum.



  • di totygno71 (utente non iscritto) data: 11/09/2013 15:03:44

    cit"Ma il codice lo devo mettere in un modulo?"
    risp. SI

    cit"Il pulsante della macro nel foglio 1 lo devo mettere?"
    Dove ti pare... ma forse ti converrebbe sulla barra degli strumenti
    PS I pulsanti devono essere 2
    1. macro Zoom_Casa
    2. macro Zoom_Uff
    Ciao



  • di Claudio (utente non iscritto) data: 11/09/2013 15:38:23

    Grazie del file Nichicanta, appena provo ti faccio sapere. Naturalmente provo anche la soluzione di totygno71.



  • di Claudio (utente non iscritto) data: 11/09/2013 21:36:19

    @Nichicanta ho provato il tuo file e va bene, il codice era uguale a quello di Totygno71. Ti chiedo solo una cosa: come mai non riesco a modificare i pulsanti della macro? Io vorrei spostarli, farli più piccoli, modificare il testo ma sembrano bloccati. Come devo fare?



  • di Claudio (utente non iscritto) data: 12/09/2013 10:42:56

    Buondì. Come mai non riesco a modificare i pulsanti della macro? Io vorrei spostarli, farli più piccoli, modificare il testo ma sembrano bloccati. Come devo fare?



  • di totygno71 (utente non iscritto) data: 12/09/2013 10:59:11

    Eliminali...
    E inserisci due nuovi pulsanti direttamente nella barra degli strumenti:
    menu Visualizza-barra degli strumenti-personalizza
    dal menu categorie clicca su pulsante personalizzato e trascinalo nella barra degli strumenti
    poi tasto destro sullo stesso e assegni la macro zoom_Casa
    esegui lo stesso procedimento per l'altra macro_



  • di Grograman data: 12/09/2013 11:38:33

    Oppure dal ribbon, scheda "Sviluppo" (se non la vedi devi attivarla dalla personalizzazione), sottocheda "controlli" e attiva la "modalità progettazione" per poter editare i due controlli esistenti!



  • di nichicanta (utente non iscritto) data: 12/09/2013 11:44:45

    Ciao Claudio, certo il codice è di Totygno71 , io ho solo adattato il codice alla tua esigenza, cmq se vuoi dimmi come vuoi i pulsanti di comando ed io te li sistemo e te li adatto alla tua esigenza.
    Ti saluto.



  • di Claudio (utente non iscritto) data: 12/09/2013 12:19:59

    Io li so creare i pulsanti e modificare, solo i tuoi non ho capito perché erano bloccati anche se il foglio di lavoro non era protetto; sai dirmi il motivo? Io ho risolto creando 2 nuovi pulsanti e assegnando la macro. Grazie ancora



  • di totygno71 (utente non iscritto) data: 12/09/2013 12:46:17

    Ottimo... Ciao