Condividi tramite

Spostare una userform senza borsi

Anonimo
2020-04-06T00:03:31+00:00

Buonasera gruppo. Ho bisogno di inserire un codice, credo nella userform stessa, che mi permetta di poterla spostare con il mouse. La userform è stata privata di tutto il bordo (barra titoli e bordo inferiore) per motivi estetici. Ho letto che è possibile spostarla ugualmente con il mouse inserendo un codice nella userform ma non riesco a capire come :(

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

4 risposte

Ordina per: Più utili
  1. Anonimo
    2020-04-06T16:43:38+00:00

    Ciao mirco68,

    Da errore,,,, ho provato ad inserire il codice sia nella userforn che nel modulo dove andava ad eliminare i bordi della userform tramte richiamo della stessa. il codice evidenzia delle righe rose (presumo errori), e poi un'altra  cosa che ho notato e che inserendola sia nella userform che nel modulo non si "sgancia dai codici che la precedono come se lo script continuasse 

    Devo metterlo in un nuovo modulo? se si poi come la richiamo dalla userform?

    Grazie x l'aiuto

    AGGIORNAMENTO.

    ho dovuto cambiare solo le righe di Private sub userform suggerite dal vba stesso. (forse interpretava male il codice). Ora funziona

    Grazie Norman :)

    Mi fa piacere che tu abbia risolto il problema e ti ringrazio per il cortese riscontro.

    Per chiudere questo thread, vorrei chiederti gentilmente di contrassegnare la mia risposta come Risposta. In questo modo, tu aiuterai anche coloro che potessero cercare soluzioni ai problemi simili negli archivi della Community.

    ===

    Regards,

    Norman 

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2020-04-06T12:52:14+00:00

    Da errore,,,, ho provato ad inserire il codice sia nella userforn che nel modulo dove andava ad eliminare i bordi della userform tramte richiamo della stessa. il codice evidenzia delle righe rose (presumo errori), e poi un'altra  cosa che ho notato e che inserendola sia nella userform che nel modulo non si "sgancia dai codici che la precedono come se lo script continuasse 

    Devo metterlo in un nuovo modulo? se si poi come la richiamo dalla userform?

    Grazie x l'aiuto

    AGGIORNAMENTO.

    ho dovuto cambiare solo le righe di Private sub userform suggerite dal vba stesso. (forse interpretava male il codice). Ora funziona

    Grazie Norman :)

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2020-04-06T09:01:22+00:00

    Grazie....la provo subito

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2020-04-06T01:21:46+00:00

    Ciao mirco68,

    Buonasera gruppo. Ho bisogno di inserire un codice  credo nella userform stessa che mi permetta di spostarla selezionandola e spostandola con il mouse. La userform è stata lrivata di tutto il bordo con dei codici trovati su internet. Ho letto che è possibile spostarla semplicemente selezionandola (quindi attivando la userform) e spostarla con il mouse. Poi criccando sul foglio di lavoro la userform viene disattivata....non riesco a grovare il codice per fare questo :(

    Dato che la tua userform non ha una barra del titolo, per renderla spostabile, nel modulo codice della Userform , incolla il seguente codice:

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

    Option Explicit

    Private m_sngDownX As Single

    Private m_sngDownY As Single

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

    Private Sub UserForm_MouseDown(ByVal Button As Integer, _

                                   ByVal Shift As Integer, _

                                   ByVal X As Single, _

                                   ByVal Y As Single)

        If Button = 1 Then

            m_sngDownX = X

            m_sngDownY = Y

        End If

    End Sub

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

    Private Sub UserForm_MouseMove(ByVal Button As Integer, _

                                   ByVal Shift As Integer, _

                                   ByVal X As Single, _

                                   ByVal Y As Single)

        If Button And 1 Then

            Me.Left = Me.Left + (X - m_sngDownX)

            Me.Top = Me.Top + (Y - m_sngDownY)

        End If

    End Sub

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

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento