Macro in casella combinata

di il
10 risposte

Macro in casella combinata

Buongiorno a tutti,
ancora una volta un quesito per la community.
Ho creato una serie di macro (5) che faccio partire con pulsanti.
Per non avere troppe cose sulla maschera che ospita i pulsanti ho pensato di metterli in una casella combinata ... ebbene ho creato l'elenco delle voci però all'evento CLIC non riesco ad abbinare che una delle macro. Come è possibile abbinare anche le altre scegliendole dalla combo ?
Grazie

ligiem

10 Risposte

  • Re: Macro in casella combinata

    Sinceramente non ho capito nulla di quello che devi fare...!

    Devi per caso richiamare una specifica Macro a seconda della selezione dell'Item della COMBO...?

    Se si allora devi scrivere del codice VBA, ed a quel punto io non userei le macro... tuttavia...
    oltretutto devi usare un'altro EVENTO definito DopoAggiornamento(AfterUpdate)
    
    Private Sub NomeCombo_AfterUpdate()
        Select Case Me!NomeCombo.Value
             Case Is=Valore1
                   DoCmd.RunMacro "NomeMacro1"
             Case Is=Valore2
                   Docmd.RunMacro "Nomemacro2"
             ecc....
        End Select
    End Sub
  • Re: Macro in casella combinata

    Anch'io non ho capito perfettamente la richiesta, quella di Alex sembra molto vicina

    @Alex ha scritto:


    Devi per caso richiamare una specifica Macro a seconda della selezione dell'Item della COMBO...?
    accodandomi a questa ipotesi, dico che potresti anche rimanere in ambito macro:
    1) Creare una nuova macro avente 5 azioni "EseguiMacro" corrispondenti ai nomi delle tue precedenti.
    2) Accanto ad ogni azione dovresti creare una condizione che faccia leva sul valore da te selezionato nella casella combinata. Le 5 condizioni devono avere le seguenti sintassi.
    [nome combo].[Value]="valore1"
    [nome combo].[Value]="valore2"
    [nome combo].[Value]="valore3"
    [nome combo].[Value]="valore4"
    [nome combo].[Value]="valore5"
    Salva la "macro delle macro"
    3) Confermo che dovresti associare l'evento Dopo Aggiornamento alla casella combinata.
  • Re: Macro in casella combinata

    Grazie a alex e osvaldo per le loro risposte.
    Si quanto avete capito è ciò che volevo.
    Avevo capito che dovevo usare del codice però non ci capisco nulla e quindi proverò a incollare quanto postato modificalndolo per quello che riuscirò.
    Vi farò sapere.
    Saluti e grazie

    *******************
    Macchè ...
    ho provato entrambe le soluzioni ma senza risultato.
    Il codice usato non mi ha dato problemi ma all'avvio, niente da fare.
    Ve lo faccio vedere

    Private Sub Elenco55_AfterUpdate()
    Select Case Me!Elenco55.Value
    Case Is = Valore1
    DoCmd.RunMacro "elenca segnali(foglio dati)"
    Case Is = Valore2
    DoCmd.RunMacro "esporta in excel"
    Case Is = Valore3
    DoCmd.RunMacro "cerca strade"

    Case Is = Valore4
    DoCmd.RunMacro "cerca anni"

    Case Is = Valore5
    DoCmd.RunMacro "addetti"



    End Select
    End Sub

    ********************
    La seconda soluzione ha avuto sorte simile, cioè a dire
    ho creato una macro con le 5 macro però quando faccio una scelta da combo me le fa partire tutte (??)
    Forse smanettando ancora con il codice troverò la soluzione. Spero.
    Grazie
  • Re: Macro in casella combinata

    I valori della condizione, quelli che ti ho segnalato vome Valore1, Valore2 ovviamente devono essere quelli restituiti dalla COMBOBOX altrimenti cosa controlli...?
  • Re: Macro in casella combinata

    Grazie Alex, credevo che Valore1 ecc. fossero dei nick che access riconosceva.
    Ad ogni buon conto ho risolto utilizzando il codice postato con l'accortezza di mettere i nomi delle macro e delle scelte della combo tra apici.
    Alla prossima sfida


    ligiem
  • Re: Macro in casella combinata

    ligiem ha scritto:


    La seconda soluzione ha avuto sorte simile, cioè a dire
    ho creato una macro con le 5 macro però quando faccio una scelta da combo me le fa partire tutte
    Scusate se arrivo in ritardo, ma per completezza, la "macro delle macro" non finiva lì. Ad ogni azione EseguiMacro dovevi, aprire la colonna Condizioni e digitare rigo per rigo quelle 5 sintassi che avevo suggerito. Ho anche fatto un test io e funziona.
  • Re: Macro in casella combinata

    Ciao a tutti,

    ho seguito le vostre info, ma a me non funziona. Di seguito riporto il codice che ho inserito io:
    "uno" "due" "tre" "quattro" "cinque" sono le voci presenti nella mia combobx, "ONE" "TWO" "THREE" "FOUR" and "FIVE" sono i nomi delle mie macro.

    Private Sub combobox1_AfterUpdate()
    Select Case Me!combobox1.Value
    Case Is = "uno"
    Docmd.RunMacro "ONE"
    Case Is = "due"
    Docmd.RunMacro "TWO"
    Case Is = "tre"
    Docmd.RunMacro "THREE"
    Case Is = "quattro"
    Docmd.RunMacro "FOUR"
    Case Is = "cinque"
    Docmd.RunMacro "FIVE"

    End Select
    End Sub


    Grazie mille
    Alberto
  • Re: Macro in casella combinata

    Prima cosa che è fondamentale è rispettare il regolamento e non riaprire dei 3D datati 6 anni.
    Quindi Apri un NUOVO 3D nel quale metti il LINK a questo che ti fa da riferimento.

    Poi quando dici non funziona... devi spiegare diverse cose e non solo postare un codice affetto da mille interpretazioni...

    Tolto questo, se usi il VBA, le Macro evitale.... non puoi fare DEBUG... e tu hai fatto DEBUG per vedere cosa non va...?
  • Re: Macro in casella combinata

    Ciao Alex,

    mi scuso per il disagio, ho gia aperto un forum qua: https://www.iprogrammatori.it/forum-programmazione/excel/macro-casella-combinata-t35205.html#p8601718.

    io avevo seguito la tua procedura. Non funziona nel senso che non succede niente

    Grazie mille
    Alberto
  • Re: Macro in casella combinata

    Ti ho risposto... ora vedi tu...!
Devi accedere o registrarti per scrivere nel forum
10 risposte