Stellar Blade Un'esclusiva PS5 che sta facendo discutere per l'eccessiva bellezza della protagonista. Vieni a parlarne su Award & Oscar!

Excel Forum Per condividere esperienze su Microsoft Excel

eseguire tramite macro un comando della barra multifunzioni

  • Messaggi
  • OFFLINE
    pizzini
    Post: 4
    Registrato il: 14/08/2011
    Età: 50
    Utente Junior
    Excel 2019
    00 03/11/2023 21:14
    Buongiorno
    al lavoro su excel ho installato un add-in che rende disponibile una barra multifunzione con alcuni comandi.
    Avrei bisogno di inserire in una macro un codice che con cui eseguire alcuni dei comandi presenti sulla barra.
    E' possibile farlo?
    Se si come si individuano i comandi della barra da eseguire?
    L'add-in questione è quello di Morningstar ed il comando da eseguire riguarda l'aggiornamento del foglio su cui sto lavorando.
    L'unica guida che ho trovato è la seguente https:// addin.morningstarcommodity.com/media/VBA%20guide. pdf
    ed il codice che consiglia è il seguente


    Sub RefreshAddin
    Set cmd = Application.CommandBars("Cell").Controls("Refresh All")
    cmd.Execute
    End Sub


    Ho inserito nel foglio che mi interessa un pulsante che lo richiama.
    Se provo ad eseguirlo mi appare l'errore
    Errore run-time 9
    Indice non incluso nell'intervallo

    Si blocca su

    Set cmd = Application.CommandBars("Cell").Controls("Refresh All")



    Grazie per l'aiuto.
  • OFFLINE
    by sal
    Post: 7.403
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 04/11/2023 15:15
    Ciao, ci sono diversi modi per creare un comando sulla barra Multifunzione, ti puoi anche creare una barra personale, con pulsanti personalizzati.

    però quello che intendi fare non l'ho capito, se spieghi meglio ed a cosa ti serve con qualche esempio.

    Ciao By Sal (8-D
    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
  • OFFLINE
    pizzini
    Post: 4
    Registrato il: 14/08/2011
    Età: 50
    Utente Junior
    Excel 2019
    00 04/11/2023 18:20
    Re:
    by sal, 04/11/2023 15:15:

    Ciao, ci sono diversi modi per creare un comando sulla barra Multifunzione, ti puoi anche creare una barra personale, con pulsanti personalizzati.

    però quello che intendi fare non l'ho capito, se spieghi meglio ed a cosa ti serve con qualche esempio.

    Ciao By Sal (8-D




    Grazie per l'interesse.
    Vorrei inserire in una macro un'istruzione che esegua uno dei comandi presenti sulla barra multifunzione.
    Ho installato un add-in di terze parti che ha creato una barra multifunzione con dei comandi, quindi non ho bisogno di crearne una nuova.
    Uno di questi comandi aggiorna il foglio pescando dei dati dal fornitore dell'add-in.
    In pratica scrivo delle formule nelle celle con una determinata sintassi per pescare il dato. Per avviare l'aggiornamento del valore devo pigiare sull'apposito tasto sulla barra (non posso utilizzare il comando Aggiorna tutti presente nella scheda Dati).
    Per evitare dover pigiare il tasto vorrei inserire l'istruzione all'interno di una macro che esegue anche altre istruzioni in un preciso ordine.
    Come indicato nel primo post ho trovato una loro guida che indicava il codice da usare per lanciare tale comando ma non funziona restituendo un errore.

    Application.CommandBars("Cell").Controls("Refresh All")


    Per quello che capisco il codice richiama un controllo REFRESH ALL presente sulla barra CELL. E' corretto?
    L'errore può indicare che i riferimenti sono errati? Oppure l'istruzione è obsoleta e non funziona più?
    Esiste un modo per controllare il nome della barra e del relativo comando per verificare se quanto indicato è corretto?
    Ho provato a cercare in rete come funzionano le barre multifunzione personalizzate, ma mi sono perso tra ribbon, xlm, customUI ecc.
    Nella guida liquidano la cosa in 4 righe, ma funzionano, salvo che io non sbagli ad utilizzare il codice (io l'ho inserito in un modulo ed agganciato ad un pulsante per fare una prova come faccio di solito con altre istruzioni).

    Grazie
  • OFFLINE
    dodo47
    Post: 3.577
    Registrato il: 06/04/2013
    Utente Master
    2010
    00 05/11/2023 17:17
    ciao
    ma sei sicuro che quell'AddIn sia nella commandBar Cell?

    Fai una prova:

    IN UN FOGLIO VUOTO
    esegui questo codice che ti elencherà tutti i controlli presenti nella CommandBar "Cell":

    Sub tester()
    r = 1
    For Each ctl In Application.CommandBars("Cell").Controls
       Cells(r, 1) = ctl.Caption
       r = r + 1
    Next
    End Sub


    vedi che trovi...

    saluti




    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    pizzini
    Post: 5
    Registrato il: 14/08/2011
    Età: 50
    Utente Junior
    Excel 2019
    00 06/11/2023 22:55
    Re:
    dodo47, 05/11/2023 17:17:

    ciao
    ma sei sicuro che quell'AddIn sia nella commandBar Cell?

    Fai una prova:

    IN UN FOGLIO VUOTO
    esegui questo codice che ti elencherà tutti i controlli presenti nella CommandBar "Cell":

    Sub tester()
    r = 1
    For Each ctl In Application.CommandBars("Cell").Controls
       Cells(r, 1) = ctl.Caption
       r = r + 1
    Next
    End Sub


    vedi che trovi...

    saluti







    Installando l'add-in viene abilitata la barra Morningstar (vedi immagine).
    Eseguendo il tuo codice in una colonna appaiono questi valori

    21
    19
    22
    21437
    3624
    25536
    34738
    32714
    32713
    34737
    3181
    292
    3125
    33409
    24508
    31623
    31402
    31435
    34003
    2031
    33528
    33162
    855
    1966
    1614
    13380
    34600
    34680
    1576
    1577
    1015
    3626
    34646
    34405
    34713
    11299
    31595
    178
    34125
    22577
    34042



    A cosa corrispondono?
    Graize