USERFORM a tutto schermo

Stato
Chiusa ad ulteriori risposte.

Baloon_50

Utente assiduo
2 Agosto 2015
4.336
65
71
Milano - Italy
2013 PC
77
Visual Basic:
Private Sub UserForm_Initialize()

' ---------------------- VISUALIZZA FORM A TUTTO SCHERMO -------------------
                                                                          
    Dim CuH                                                               
    Dim CuW                                                               
    Dim ZoW                                                               
    Dim ZoH                                                               
    Dim Rzoom                                                             
                                                                          
'---------------------------- MODIFICARE IL NOME DELLA USERFORM -------------------
                                                                          
    CuH = UsrCerca.Height      'dimensioni iniziali                       
    CuW = UsrCerca.Width                                                 
'------------------------------------------------------------------
'Resize Form                                                               
'------------------------------------------------------------------
    UsrCerca.Top = Application.Top                                       
    UsrCerca.Left = Application.Left                                     
    UsrCerca.Width = Application.Width                                   
    UsrCerca.Height = Application.Height                                 
'------------------------------------------------------------------
'Resize contenuto                                                         
'------------------------------------------------------------------
    ZoW = UsrCerca.Width / CuW        'calcola zoom                       
    ZoH = UsrCerca.Height / CuH                                           
    If ZoW < ZoH Then                                                     
        Rzoom = ZoW                                                       
    Else                                                                 
        Rzoom = ZoH                                                       
    End If                                                               
    UsrCerca.Zoom = Rzoom * 100                                           
                                                                          
' --------------------------------------------------------------------------


End Sub
 

Zer0Kelvin

VBA Expert
Staff
19 Novembre 2016
2.118
115
61
Teramo (Provincia)
2010
190
Ciao.
Aggiungo che, se si hanno molte UserForms a tutto schermo, è conveniente scrivere una procedura esterna che possa essere usata da tutte le UserForms .
Io di solito uso questa

Codice:
Public Sub fZoom2(ByVal Uf As Object)   'zoom userform a tutto schermo
   
    Dim f As Long, H As Single, W As Single, wZoom As Single, hZoom As Single, Zoom As Double
   
    With Application
        f = .WindowState
        If f <> xlMaximized Then .WindowState = xlMaximized
        H = .Height
        W = .Width
    End With
    With Uf
        wZoom = W / .Width
        hZoom = H / .Height
        If wZoom < hZoom Then
            Zoom = .Zoom * wZoom
        Else
            Zoom = .Zoom * hZoom
        End If
        If Zoom > 400 Then Zoom = 400
        If Zoom < 10 Then Zoom = 10
        .Zoom = Zoom * 0.99
        .Height = H
        .Width = W
        .startupposition = 0
        .Top = 0
        .Left = 0
    End With
    With Application
        Uf.Width = .Width - 15
        Uf.Height = .Height - 15
        .WindowState = f
    End With
End Sub
 
  • Like
Reactions: Robyprog

Baloon_50

Utente assiduo
2 Agosto 2015
4.336
65
71
Milano - Italy
2013 PC
77
Ciao Zer0 di solito uso userform a tutto schermo con pochi file. L'ho messa a disposizione per chi volesse usarla. Naturalmente è validissima il motivo che hai esposto e sono d'accordo con te che se l'uso è massiccio conviene scrivere una procedura esterna.

Grazie - ciao cappello_saluta
 
Stato
Chiusa ad ulteriori risposte.

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!