Risoluzione video

  • Adattare userform di Enzo
    Cari ragazzi ho un problema di questo tipo:
    ho un file in excel con delle userform che ho adattato al tipo di pc che utilizzo (parlo di videata)
    il problema e' che se utilizzo il file su un altro pc con una risoluzione video diversa la userform appare piu' grande o piu piccola
    c'e' un sistema affinche una userform si possa adattare automaticamente al tipo di pc (risoluzione video) che si sta utilizzando?

    Per enzo di Apoben64
    Ti allungo questo codice che dovrebbe fare al caso tuo.
    un saluto luca
     
    Private Sub UserForm_Initialize() 
        Application.WindowState = xlMaximized 
        With Application 
            Me.Top = .Top 
            Me.Left = .Left 
            Me.Height = .Height 
            Me.Width = .Width 
        End With 
    
    
    End Sub 
    
    

    di Enzo
    Grazie luca, potrebbe anche andare bene ma volevo sapere se c'e' qualcosa che faccia si che la userform mantenendo i valori di partenza si adatti ad un altro pc.
    nel tuo caso la userform prende tutto lo schermo mentre io vorrei che se quella di partenza per intenderci io sul mio pc la vedo in un certo modo questa si adatti su un altro pc avendo la stessa grandezza

    di Enzo
    Ciao ragazzi a parte luca con il suo suggerimento non c'e' nessun altro che sa darmi una mano in merito all'adattamento della userform

    di Mauro
    Ciao enzo, nel web gira questa routine che non misura la definizione dello schermo ma tramite le proprietà usableheight e usablewidth ricava le dimensioni della finestra in pixel. prova a manipolarlo poi facci sapere. aspetto la tua partecipazione attiva anche in altre discussioni. saluti e buon lavoro!
     
    Private Sub UserForm_Activate()
    x = Application.UsableWidth
    h = Application.UsableHeight
    If x > 597 Then
    xa = x / 597
    ha = h / 309
    With UserForm1
        .Height = .Height * ha
        .Width = .Width * xa
        lefta = (x - .Width) / 2
        .Left = lefta
        toppa = (h - .Height) * ha
        .Top = toppa
    End With
    For Each ctr In UserForm1.Controls
        ctr.Width = ctr.Width * xa
        ctr.Height = ctr.Height * ha
        ctr.Font.Size = ctr.Font.Size * xa
        ctr.Top = ctr.Top * ha
        ctr.Left = ctr.Left * xa
    Next
    End If
    End Sub

    Altra soluzione di Apoben64
    Per informazione, nel web ho trovato anche questo tipo di soluzione che adatta la risoluzione dello schermo in automatico a seconda del computer ricevente.
     
    Private Sub workbook_open()
      X = Application.UsableWidth
      If X > 597 Then ActiveWindow.Zoom = 130 Else ActiveWindow.Zoom = 100
      End Sub