Movimento immagine su Userform

Anonimo
2019-03-26T11:35:25+00:00

Buongiorno,

per studio e per un progetto futuro, ho implementato una piccola routine che

mi permette in un Userform di cliccare su una immagine e spostarla nella userform stessa.

La mia domanda è:

è possibile implementare una routine che quando sposto l'immagine vicino ad un'area prestabilita

questa si va ad alloggiare precisamente? Un pò come si fa con le forme sul foglio che, tenendo premuto mi sembra Ctrl

si allineano alla cella.

spero di essermi spiegato.

Marco

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

7 risposte

Ordina per: Più utili
  1. Anonimo
    2019-03-27T11:04:27+00:00

    ok. grazie mille!

    buona giornata.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2019-03-27T11:03:37+00:00

    Sono riuscito ad arrivare ad una soluzione.

    La posto per chi potrebbe averne bisogno:

    Ovviamente bisogna creare una userform con un'immagine di nome: ImageBox con 

    Top = 6

    Left = 6

    Hight = 108

    Width = 174

    Option Explicit

    Dim Controllo As Boolean  '<- Per capire se sta solo passando sopra l'immagine, o l'ha anche cliccata.

    Dim Partenza_x As Integer '<- Valore Originario del Mouse

    Dim Partenza_y As Integer '<- Valore Originario del Mouse

    Dim Valore_x As Integer   '<- Valore Finale del Mouse

    Dim Valore_y As Integer   '<- Valore Finale del Mouse

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

        Controllo = True

        Partenza_x = X

        Partenza_y = Y

    End Sub

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

        If Controllo = True Then

            Valore_x = X - Partenza_x

            Valore_y = Y - Partenza_y

            ImageBox.Left = ImageBox.Left + Valore_x

            ImageBox.Top = ImageBox.Top + Valore_y

        End If

    End Sub

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

        Controllo = False

        If ImageBox.Left > 6 And ImageBox.Left < 182 Or _

                ImageBox.Top > 6 And ImageBox.Top < 114 Then

                    ImageBox.Top = 6

                    ImageBox.Left = 6

            End If

    End Sub

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2019-03-26T16:07:56+00:00

    ok. verifico e se trovo altro ti aggiorno.

    Inoltre questa assistenza rimane aperta e visibile anche ad altri miei colleghi e quindi se hanno qualcosa da suggerirti lo troverai scritto qui.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2019-03-26T15:03:19+00:00

    Buonasera Arianna e grazie per la risposta,

    ma io cercavo una cosa del genere su userform

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2019-03-26T12:18:21+00:00

    Buongiorno

    Mi chiamo Arianna, consulente indipendente e sono qui ad aiutarti per risolvere il problema.

    prova a seguire le istruzioni contenute al seguente link:

    https://www.extendoffice.com/it/documents/excel...

    Tienimi aggiornata.

    Cordialmente,

    Arianna

    NOTA: Ho indicato dei siti web non-Microsoft. Ciononostante, sembra che le pagine forniscano informazioni accurate e sicure. Poni attenzione nelle pagine ad eventuali pubblicità classificate come PUP (Potentially Unwanted Products). Approfondisci accuratamente la tua conoscenza di ogni prodotto pubblicizzato sul sito web prima di scaricarlo ed installarlo.

    La risposta è stata utile?

    0 commenti Nessun commento