Condividi tramite

UserForm ridimensionabile

Anonimo
2015-12-17T10:06:16+00:00

Mi sono accorto che utilizzando il file excel a cui ho abbinato una gestione tramite UserForm, questa aperta in un altro PC con risoluzione grafica diversa da dove ho costruito la UserForm, esce dalle dimensioni dello schermo. Volevo chiedervi se é possibile e se esistone delle istruzioni che mi permettano di ridimensionare la UserForm a piacimento e scorvervi all'interno utilizzano delle ScroolBars veticali e orizzontali.

Grazie

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2015-12-17T15:01:23+00:00

Ciao Giuseppe,

La tua risposta a Mauro mi ha sorpreso un po' e mette in dubbio la mia comprensione delle tue esigenze. Comunque, per vedere le barre di scorrimento anche con una risoluzione bassa dello schermo, forse prova qualcosa del genere;

'=========>>

Option Explicit

'--------->>

Private Sub UserForm_Initialize()

  With Application

  .WindowState = xlMaximized

  Zoom = Int((Application.Width) / Me.Width * 100)

  Width = .Width - 10

  Height = .Height - 10

  End With

End Sub

'--------->>

Private Sub UserForm_Zoom(Percent As Integer)

    Dim dZoomFactor As Double

    Percent = Application.Min(390, Zoom)

    If Percent > 99 Then

        ScrollBars = fmScrollBarsBoth

        ScrollLeft = 0

        ScrollTop = 0

        dZoomFactor = Width * Percent / 100

        ScrollWidth = dZoomFactor - 10

        dZoomFactor = Height * Percent / 100

        ScrollHeight = dZoomFactor - 10

    Else

        ScrollBars = fmScrollBarsNone

        ScrollLeft = 0

        ScrollTop = 0

    End If

End Sub

'--------->>

Private Sub TextBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

    TextBox1.Font.Bold = True

End Sub

'--------->>

Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

    TextBox1.Font.Bold = False

End Sub

'<<=========

===

Regards,

Norman

La risposta è stata utile?

0 commenti Nessun commento

11 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2015-12-17T15:29:32+00:00

    Il punto é che c'é chi ancora ha schede grafiche un pò datate e la vista non é più così acuta. Motivo per cui si lavora su risoluzioni basse per avere caratteri grandi.

    È il motivo per cui non volevo ridimensionare i controlli ed avere le ScrollBars per scorrere nelle zone nascoste della UserForm.

    Un caro saluto

    Giuseppe

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-12-17T15:23:43+00:00

    Ciao Giuseppe,

    Ti ringrazio per il cortese riscontro.

    Alla prossima.

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-12-17T15:17:31+00:00

    La tua risposta a Mauro mi ha sorpreso un po' e mette in dubbio la mia comprensione delle tue esigenze.

    +1

    E' molto tempo che non vedo scrollbars su una UserForm....

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2015-12-17T15:16:44+00:00

    Ottimo Norman, funziona benissimo. È proprio ciò che mi serviva.

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento