Condividi tramite

lanciare una macro da una casella combinata

Anonimo
2011-10-08T18:03:09+00:00

dopo aver impostato una casella cambinata, vorrei che ogni scelta fatta lanci una corrispondente macro.

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
2011-10-10T08:07:35+00:00

Ok è tutto chiaro anche la diifferenza delle due applicazioni, mi chiedevo se fosse possibile non avere l'indicazione "Uno", ecc ma riconoscimento automatico dalla selezione senza quindi riscrivere il tutto ogni qualvolta i valori "Uno", Due" ecc. divenissero A,B,C ecc

Grazie comunque della collaborazione

pino

Se il nome della selezione e quello della macro coincidono, sì. Esempio fatto considerando Uno, Due come items(selezioni) della ComboBox e Uno e Due i nomi delle macro:

Private Sub ComboBox1_Click()

    On Error GoTo RigaErrore

    Application.Run Me.ComboBox1.Value

    Exit Sub

RigaErrore:

    MsgBox "Nessuna macro: " & Me.ComboBox1.Value

End Sub

e questo se utilizzi la convalida con elenco:

Private Sub Worksheet_Change(ByVal Target As Range)

     On Error GoTo RigaErrore

     If Target.Address = "$A$1" Then

        Application.Run Target.Value

    End If

    Exit Sub

RigaErrore:

    MsgBox "Nessuna macro: " & Target.Value

End Sub

La risposta è stata utile?

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2011-10-10T06:45:11+00:00

carico la casella con dei nomi  es: luce, varie ecc, per ogni voce scelta devo lanciare la relativa macro; cioè se scelgo "varie" devo lanciare la macro "voce" che esegue dei calcoli, ecc., le macro sono state da me già elaborate e funzionano, il tutto per non avere 10 e più pulsanti che mi eseguono le relative macro.

spero di essere stato chiaro

ringrazio il grande e sempre disponibile GAMBERINI

pino

Non hai risposto a parte della mia domanda. Dove si trova?

Abbiamo caselle combinate nei fogli e nelle UserForm, a volte c'è chi intende per casella combinata una semplice convalida dati in forma di elenco. Ancora abbiamo due tipi di casella combinata sul foglio, modulo e ActiveX...

Se(se) intendi una casella combinata di tipo ActiveX posizionata su di un foglio o in una UserForm, questo il codice da inserire o nel modulo del foglio o in quello della UserForm:

Private Sub ComboBox1_Click()

    Select Case Me.ComboBox1.Value

        Case "Uno"

            Call macro1

        Case "Due"

            Call macro2

        '.........

    End Select

End Sub

NOTA. Sostituisci il nome della casella combinata, degli items della stessa(qui Uno, Due) ed i nomi delle macro con i tuoi. Ovviamente puoi aggiungere n Case in base al numero delle voci della tua ComboBox(casella combinata).

Per il foglio, ti sconsiglio *vivamente* l'utilizzo dei controlli modulo, difficilmente gestibili.

Se invece hai una semplice convalida elenco in una cella(forse la soluzione migliore per un foglio), questo il codice da inserire nel modulo del foglio(qui considero la convalida elenco in cella A1):

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address = "$A$1" Then

        Select Case Target.Value

            Case "Uno"

                Call macro1

            Case "Due"

                Call macro2

            '......

        End Select

    End If

End Sub

Se(se) non sono stato sufficientemente chiaro, chiedi pure. Grazie per l'attenzione.

La risposta è stata utile?

0 commenti Nessun commento

7 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2011-10-09T16:45:01+00:00

    carico la casella con dei nomi  es: luce, varie ecc, per ogni voce scelta devo lanciare la relativa macro; cioè se scelgo "varie" devo lanciare la macro "voce" che esegue dei calcoli, ecc., le macro sono state da me già elaborate e funzionano, il tutto per non avere 10 e più pulsanti che mi eseguono le relative macro.

    spero di essere stato chiaro

    ringrazio il grande e sempre disponibile GAMBERINI

    pino

    Onori al sempre più grande Gamberini.

    Pino, solo per curiosità, si potrebbe vedere la macro che hai scritto per il nome "luce" ?

    Grazie anticipate,

    Eliano

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2011-10-09T11:44:36+00:00

    carico la casella con dei nomi  es: luce, varie ecc, per ogni voce scelta devo lanciare la relativa macro; cioè se scelgo "varie" devo lanciare la macro "voce" che esegue dei calcoli, ecc., le macro sono state da me già elaborate e funzionano, il tutto per non avere 10 e più pulsanti che mi eseguono le relative macro.

    spero di essere stato chiaro

    ringrazio il grande e sempre disponibile GAMBERINI

    pino

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2011-10-09T09:04:22+00:00

    dopo aver impostato una casella cambinata, vorrei che ogni scelta fatta lanci una corrispondente macro.

    grazie

    Puoi, per favore spiegare cosa hai nella casella combinata e dove si trova?

    Grazie.

    La risposta è stata utile?

    0 commenti Nessun commento