Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Creare pulsante con vba

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Creare pulsante con vba

Postdi blunotte13 » 10/07/19 13:32

Ciao a tutti, ho trovato questa macro che crea, rinomina ed assegna una macro ad un pulsante
Codice: Seleziona tutto
Sub pulsante_ordina()
ActiveSheet.Buttons.Add(650, 1.5, 95.25, 30.75).Select
ActiveSheet.Buttons.Text = "ORDINA"
Selection.OnAction = "ordina"
End Sub


Riesco a creare tre pulsanti e ad assegnare la macro ma, al momento di rinominare il pulsante attivo, vengono rinominato anche gli altri, come si può fare ?

Aggiungo anche le macro per creare gli altri pulsanti.

Grazie

Codice: Seleziona tutto
Sub pulsante_ordina_1()
ActiveSheet.Buttons.Add(750, 1.5, 95.25, 30.75).Select
ActiveSheet.Buttons.Text = "ORDINA 1"
Selection.OnAction = "ordina_1"
End Sub

Codice: Seleziona tutto
Sub pulsante_ordina_2()
ActiveSheet.Buttons.Add(850, 1.5, 95.25, 30.75).Select
ActiveSheet.Shapes("Button 3").Select
ActiveSheet.Buttons.Text = "ORDINA 2"
Selection.OnAction = "ordina_2"
End Sub
Alla prossima, ciao ciao !!


Excel 2007
blunotte13
Utente Senior
 
Post: 123
Iscritto il: 13/01/10 19:35

Sponsor
 

Re: Creare pulsante con vba

Postdi Marius44 » 10/07/19 17:01

Ciao
Credo manchi qualcosa.
Le macro che assegni a ciascun pulsante cosa fanno?
Mi riferisco a "ordina", "ordina_1" e "ordina_2"

Ciao,
Mario
Marius44
Utente Senior
 
Post: 448
Iscritto il: 07/09/15 22:00

Re: Creare pulsante con vba

Postdi Anthony47 » 10/07/19 20:25

Ciao Mario, il problema segnalato non dovrebbe dipendere da cosa fanno le macro richiamate tramite On.Oction, ma dal modo con cui si indirizzano i controlli.

@blunotte:
Con ActiveSheet.Buttons.Text tu indirizzi tutti i Buttons del foglio; visto che il Button aggiunto e' anche selezionato, la cosa piu' semplice e' usare Selection.Text; cioe':
Codice: Seleziona tutto
Sub pulsante_ordina_1()
ActiveSheet.Buttons.Add(750, 1.5, 95.25, 30.75).Select
Selection.Text = "Ordina_1"
Selection.OnAction = "ordina_1"
ActiveWindow.RangeSelection.Select      'Elimina la selezione dal button
End Sub


In alternative, devi indirizzare l'ultimo button creato; tipo:
Codice: Seleziona tutto
ActiveSheet.Buttons(ActiveSheet.Buttons.Count).Text = "ORDINA 1"


Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 16453
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Creare pulsante con vba

Postdi Zer0Kelvin » 11/07/19 06:48

Salve a tutti.
Si può anche fare a meno (più corretto, secondo me) di usare select
Codice: Seleziona tutto
Sub pulsante_ordina_1()

    With ActiveSheet.Buttons.Add(750, 1.5, 95.25, 30.75)
        .Text = "Ordina_1"
        .OnAction = "ordina_1"
    End With
   
End Sub

Sarebbe anche possibile, volendo, usare un ciclo per creare i tre pulsanti
Codice: Seleziona tutto
Sub pulsanti_ordina()
   
    Dim NomeP As Variant
    Dim LeftP As Single
   
    LeftP = 650
    For Each NomeP In Array("Ordina", "Ordina_1", "Ordina_2")
        With ActiveSheet.Buttons.Add(LeftP, 1.5, 95.25, 30.75)
            .Text = NomeP
            .OnAction = NomeP
        End With
        LeftP = LeftP + 100
    Next NomeP
   
End Sub
[Win7,Office2010]
Condividere la conoscenza aumenta la ricchezza di tutti(Z0°K)
Dai ad un uomo un pesce e lo avrai sfamato per un giorno;insegnagli a pescare e lo avrai sfamato per sempre(Confucio)
Il sonno della ragione genera mostri(Francisco Goya)
Avatar utente
Zer0Kelvin
Utente Senior
 
Post: 384
Iscritto il: 08/04/12 11:23

Re: Creare pulsante con vba

Postdi blunotte13 » 11/07/19 10:09

Consigli utilissimi, proverò le sloluzioni che mi avete proposto, per adesso grazie a tutti e buona giornata.
Alla prossima, ciao ciao !!


Excel 2007
blunotte13
Utente Senior
 
Post: 123
Iscritto il: 13/01/10 19:35

Re: Creare pulsante con vba

Postdi blunotte13 » 11/07/19 10:25

Per completezza e per altri utenti a cui possono servire queste macro: la soluzione di @Anthony47 funziona, il ciclo di @Zer0Kelvin è invece una soluzione perfetta per me. Buona giornata.
Alla prossima, ciao ciao !!


Excel 2007
blunotte13
Utente Senior
 
Post: 123
Iscritto il: 13/01/10 19:35


Torna a Applicazioni Office Windows


Topic correlati a "Creare pulsante con vba":

Creare quiz online
Autore: nippon
Forum: Forum off-topic
Risposte: 2

Chi c’è in linea

Visitano il forum: Nessuno e 19 ospiti