È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

eseguire tramite macro un comando della barra multifunzioni

Ultimo Aggiornamento: 06/11/2023 22:55
Post: 4
Registrato il: 14/08/2011
Età: 50
Utente Junior
Excel 2019
OFFLINE
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.
Post: 7.403
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
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
Post: 4
Registrato il: 14/08/2011
Età: 50
Utente Junior
Excel 2019
OFFLINE
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
Post: 3.577
Registrato il: 06/04/2013
Utente Master
2010
ONLINE
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
Post: 5
Registrato il: 14/08/2011
Età: 50
Utente Junior
Excel 2019
OFFLINE
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
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
unire numeri uguali, ma senza macro (9 messaggi, agg.: 13/07/2018 09:09)
salta alcune righe della macro (4 messaggi, agg.: 07/03/2020 16:29)
incolonnare senza macro (5 messaggi, agg.: 20/04/2018 19:37)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 18:32. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com