Condividi tramite

VBA excel - Pulsante per aprire Macro

Anonimo
2021-11-14T20:42:40+00:00

Buonasera, in un foglio excel ho 2 pulsanti (1, 2) ed ho la necessità premendo il pulsante 1 che scriva 1 nella cella A1, premendo il pulsante 2 scriva 2 nella cella B1. Ovviamente ho esemplificato, ma il concetto è quello. In effetti in Access lo faccio banalmente scrivendo:
Sub Pulsante()
Dim AZ as Integer

    AZ = Me.ActiveControl.Caption  'ricavo la lettera dall'etichetta data al pulsante

    If AZ = 1 Then

fai questo

    Else

    fai altro   

End If

End Sub  

Il problema è che il VBA di Excel non mi accetta il Me.ActiveControl.Caption e vorrei evitare di scrivere il codice per ciascun pulsante. Ho cercato anche di utilizzare la casella "opzioni di gruppo" ma in Excel (Windows10) non la trovo.
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
2021-11-14T21:03:29+00:00

Ciao Luigi,

in un foglio excel ho 2 pulsanti (1, 2) ed ho la necessità premendo il pulsante 1 che scriva 1 nella cella A1, premendo il pulsante 2 scriva 2 nella cella B1. Ovviamente ho esemplificato, ma il concetto è quello. In effetti in Access lo faccio banalmente scrivendo:
Sub Pulsante()
Dim AZ as Integer

    AZ = Me.ActiveControl.Caption  'ricavo la lettera dall'etichetta data al pulsante

    If AZ = 1 Then

fai questo

    Else

    fai altro   

End If

End Sub
Il problema è che il VBA di Excel non mi accetta il Me.ActiveControl.Caption e vorrei evitare di scrivere il codice per ciascun pulsante. Ho cercato anche di utilizzare la casella "opzioni di gruppo" ma in Excel (Windows10) non la trovo.

Prova ad assegnare una macro del seguente genere ai due pulsanti:

'========>>

Option Explicit

'-------->>

Public Sub Pulsante()

Dim SH As Worksheet 

Dim sCaption As String 

Set SH = ActiveSheet 

With SH 

    sCaption = .Buttons(Application.Caller).Caption 

    If sCaption = 1 Then 

        .Range("A1").Value = sCaption 

    ElseIf sCaption = 2 Then 

        .Range("B1").Value = sCaption 

    End If 

End With 

End Sub

'<<========

===

Regards,

Norman

Immagine

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

2 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2021-11-15T10:50:20+00:00

    Ciao Luigi,

    Grazie Normann, sempre disponibile e perfetto.
    Un cordiale saluto.

    Ti ringrazio per il cortese riscontro.

    Alla prossima.

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2021-11-15T08:14:24+00:00

    Grazie Normann, sempre disponibile e perfetto.
    Un cordiale saluto.

    Luigi.

    La risposta è stata utile?

    0 commenti Nessun commento