Sviluppare funzionalita su Microsoft Office con VBA messaggio in un pulsante

Login Registrati
Stai vedendo 22 articoli - dal 1 a 22 (di 22 totali)
  • Autore
    Articoli
  • #54913 Score: 0 | Risposta

    frank_ciccio
    Partecipante
      3 pts

      Ciao a tutti,

      nel foglio allegato c'è un pulsante verde per cancellare la colonna A.

      E' possibile che se mi avvicino nel pulsante compaia un messaggio con il testo che c'è in F2 ?

      Grazie

      Allegati:
      You must be logged in to view attached files.
      #54915 Score: 0 | Risposta

      Marius44
      Moderatore
        58 pts

        Ciao

        Prova a passare il mouse sull'immagie col cestino. Vedi cosa è diventato visibile?

        Il codice utilizzato è il seguente:

        Option Explicit
        
        Private Sub Image1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
            Dim farXmargin As Single, farYmargin As Single
            Dim marginSize As Single
            Application.EnableEvents = False
            marginSize = 5
            
            farXmargin = Image1.Width - marginSize
            farYmargin = Image1.Height - marginSize
            
            If X < marginSize Or Y < marginSize Or X > farXmargin Or Y > farYmargin Then
                Foglio1.Shapes("mInfo").Visible = False
            Else
                Foglio1.Shapes("mInfo").Visible = True
            End If
            Application.EnableEvents = True
        End Sub
        

        Vedi se è quello che cercavi. Fai sapere. Ciao,

        Mario

        Allegati:
        You must be logged in to view attached files.
        #54917 Score: 0 | Risposta

        frank_ciccio
        Partecipante
          3 pts

          Grazie Mario,

          come soluzione va bene ma come adattarla al pulsante verde?

          #54919 Score: 0 | Risposta

          Marius44
          Moderatore
            58 pts

            Ciao

            Non puoi adattarla! Cioè devi capire come ho fatto ed adeguarti. Mi spiego.

            I due oggetti che vedi sono due immagini (ActiveX). Nella prima, che ho lasciato come denominazione Image1, ho inserito l'immagine del cestino. Nella seconda, che ho denominato mInfo, ho inserito la tua dicitura che ho salvato come immagine .jpg. La macro dà l'effetto di nascondere/scoprire la seconda immagine.

            La materiale cancellazione del contenuto della colonna A (cioè il lavoro della tua macro) andrebbe inserito dopo:

            Foglio1.Shapes("mInfo").Visible = True

            Prova e fai sapere. Ciao,

            Mario

            #54923 Score: 0 | Risposta

            frank_ciccio
            Partecipante
              3 pts

              Ciao,

              per semplificare ho inserito nel pulsante verde un collegamento ipertestuale.

              Ora se avvicino il mouse compare il messaggio popoup ma la macro collegata al pulsante non funziona più

              Un aiuto?

               

              Allegati:
              You must be logged in to view attached files.
              #54930 Score: 0 | Risposta

              scossa
              Partecipante
                37 pts

                Modifica il collegamento ipertestuale cambiando la destinazione dalla cella A1 alla cella C2 (perché nascosta dal pulsante); poi metti questo codice nel modulo del Foglio1

                Private Sub Worksheet_SelectionChange(ByVal Target As Range)
                  If Target.Address = "$C$2" Then
                    Application.EnableEvents = False
                    Range("A1").Select
                    cancella
                    Application.EnableEvents = True
                  End If
                End Sub

                E modifica così il codice della sub cancella():

                Sub cancella() '<<<---- ok
                  Dim avviso As VbMsgBoxResult
                  
                  avviso = MsgBox("cancello tutto?", vbInformation + vbYesNo + vbDefaultButton2, "AVVISO")
                  If avviso = vbYes Then Range("A3:A1006").ClearContents
                End Sub
                
                #54933 Score: 0 | Risposta

                frank_ciccio
                Partecipante
                  3 pts

                  Grazie scossa, funziona.

                  Ora devo adattarla a un workbook più grande.

                  In questo workbook ci sono vari pulsanti per cancellare varie colonne e come l'ho modificato non funziona.

                  Non capisco poi perchè nell'allegato l'avviso popup compare vicino al proprio pulsante invece nel workbook

                  che devo modificare compare in alto a sx  sotto la barra del nome.

                   

                  Allegati:
                  You must be logged in to view attached files.
                  #54939 Score: 0 | Risposta

                  frank_ciccio
                  Partecipante
                    3 pts

                    Ciao ho modificato questa macro, se è esatto, ora funziona con 3 pulsanti

                    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
                    
                    If Target.Address = "$A$2" Then
                    Application.EnableEvents = False
                    
                    Range("A1").Select
                    
                    cancella_1
                    'cancella_2
                    
                    Application.EnableEvents = True
                    End If
                    
                    
                    
                    If Target.Address = "$D$2" Then
                    Application.EnableEvents = False
                    
                    Range("D1").Select
                    
                    'cancella_1
                    cancella_2
                    
                    Application.EnableEvents = True
                    End If
                    
                    
                    
                    If Target.Address = "$F$2" Then
                    Application.EnableEvents = False
                    
                    Range("F1").Select
                    
                    'cancella_1
                    cancella_3
                    
                    Application.EnableEvents = True
                    End If
                    
                    End Sub

                     

                    non capisco perchè nel workbook originale il messaggio non compare sotto il pulsante come scritto nel post #54933

                    Allegati:
                    You must be logged in to view attached files.
                    #54941 Score: 0 | Risposta

                    scossa
                    Partecipante
                      37 pts

                      Potresti semplificare usando un solo If:

                      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
                      
                        If Not Intersect(Target, Range("A2, D2, F2")) Is Nothing Then
                          Application.EnableEvents = False
                          Target.EntireColumn.Cells(1, 1).Select
                          cancella Target
                          Application.EnableEvents = True
                        End If
                          
                      End Sub

                      ed usare una sola sub cancella

                      Sub cancella(ByRef trg As Range) '<<<---- ok
                        Dim avviso As VbMsgBoxResult
                        
                        avviso = MsgBox("cancello tutto " & Split(trg.Address, "$")(1) & "?", vbInformation + vbYesNo + vbDefaultButton2, "AVVISO")
                        If avviso = vbYes Then trg.EntireColumn.Rows("3:1006").ClearContents
                      End Sub

                      In questo modo puoi aggiungere altri pulsanti semplicemente aggiungendo le relative celle nella riga 

                      If Not Intersect(Target, Range("A2, D2, F2, H2, Z2")) Is Nothing Then

                      #54942 Score: 0 | Risposta

                      frank_ciccio
                      Partecipante
                        3 pts

                        Grazie sempre più semplice, solo che la macro cancella nel workbook originale è diversa per ogni pulsante.

                        Comunque grazie ancora.

                        Per il popup che non si visaulizza nel workbook originale sotto i pulsanti si può risolvere?

                         

                        #54943 Score: 0 | Risposta

                        scossa
                        Partecipante
                          37 pts

                          frank_ciccio ha scritto:

                          solo che la macro cancella nel workbook originale è diversa per ogni pulsante.

                          Almeno usa il costrutto If ... Then ... ElseIf  .... Then ... Else .

                          frank_ciccio ha scritto:

                          Per il popup che non si visaulizza nel workbook originale sotto i pulsanti si può risolvere?

                           

                          Senza il file originale non sono in grado di rispondere.

                          #54944 Score: 0 | Risposta

                          frank_ciccio
                          Partecipante
                            3 pts

                            Nel workbook originale ci sono dei blocca riquadri e se li tolgo i popup si visulizzano correttamente.

                            Anche nell'allegato c'è un blocca riquadri e i popup si visualizzano a sx.

                            Allegati:
                            You must be logged in to view attached files.
                            #54947 Score: 0 | Risposta

                            frank_ciccio
                            Partecipante
                              3 pts

                              Se clicco in una cella sopra il blocca riquadri i messaggi popup si visualizzano correttamente sotto i pulsanti

                              #54953 Score: 0 | Risposta

                              frank_ciccio
                              Partecipante
                                3 pts

                                Non si riesce a risolvere?

                                #54956 Score: 0 | Risposta

                                Marius44
                                Moderatore
                                  58 pts

                                  Ciao

                                  Io mi sono perso. All'inizio chiedevi di far apparire un messaggio al passaggio del mouse sopra un pulsante. Poi che il msgbox apparisse in un determinato punto dello schermo (cosa che ritengo non fattibile col MsgBox ma con una UserForm si), poi dici che i messaggi si visualizzano correttamente sotto i pulsanti, dici ancora che c'è qualche problema se nel foglio ci sono dei "blocca riquadri".

                                  Potresti fare un po' di chiarezza (almeno per me) e specificare cosa vuoi ottenere facendo riferimento ad un reale Foglio Excel (con o senza blocca-riquadri? Grazie.

                                  Ciao,

                                  Mario

                                  #54957 Score: 0 | Risposta

                                  frank_ciccio
                                  Partecipante
                                    3 pts

                                    Ciao,

                                    nel workbook allegato ci sono dei pulsanti e dei bloccariquadri,

                                    Se clicchi in una cella sotto i bloccariquadri i messaggi popup dei pulsanti si visualizzano a sx sotto la barra di nomi e non va bene .

                                    Se clicchi in una cella sopra i  bloccariquadri i messaggi popup si visualizzano sotto i pulsanti e va bene

                                    Se non ci sono i bloccariquadri i messaggi popup si  visualizzano sotto i pulsanti e va bene.

                                    I messaggi pop con i bloccariquadri devo essere visibili sempre sotto i pulsanti anche senza cliccare in una cella.

                                    Spero di essermi spiegato.

                                     

                                    Allegati:
                                    You must be logged in to view attached files.
                                    #54959 Score: 0 | Risposta

                                    scossa
                                    Partecipante
                                      37 pts

                                      frank_ciccio ha scritto:

                                      Non si riesce a risolvere?

                                       

                                      ... Se clicchi in una cella sotto i bloccariquadri i messaggi popup dei pulsanti si visualizzano a sx sotto la barra di nomi e non va bene .

                                      A me li mostra sempre sotto ai rispettivi pulsanti, blocco o non blocco e indipendentemente dalla cella attiva.

                                      #54960 Score: 0 | Risposta

                                      frank_ciccio
                                      Partecipante
                                        3 pts

                                        Ma no so cosa dire, a me se clicco in una cella sotto i blocca riquadri i popup si visualizzano a sx sotto la barra dei nomi.

                                        Nelle foto allegate

                                        1 = clicco sopra i riaquadri i popup sotto i pulsanti

                                        2= clicco sotto i riquadri i popup a sx sotto la barra dei nomi.

                                        Forse colpa della versione di excel?

                                        La mia 2007.

                                         

                                        Allegati:
                                        You must be logged in to view attached files.
                                        #54963 Score: 0 | Risposta

                                        scossa
                                        Partecipante
                                          37 pts

                                          Ma che versione di Excel hai?

                                          #54964 Score: 0 | Risposta

                                          frank_ciccio
                                          Partecipante
                                            3 pts

                                            2007

                                            vedi mia risposta precedente #54960

                                            #54965 Score: 0 | Risposta

                                            scossa
                                            Partecipante
                                              37 pts

                                              Il problema è la versione di Excel. Lo fa anche con la 2010.

                                              #54966 Score: 0 | Risposta

                                              frank_ciccio
                                              Partecipante
                                                3 pts

                                                Grazie scossa

                                              Login Registrati
                                              Stai vedendo 22 articoli - dal 1 a 22 (di 22 totali)
                                              Rispondi a: messaggio in un pulsante
                                              Gli allegati sono permessi solo ad utenti REGISTRATI
                                              Le tue informazioni: