2012-03-21 17 views
16

Uso i dizionari in VBA di Excel tramite dict As New Dictionary (e aggiungo un riferimento al runtime di script). Quando provo a monitorare quelli durante il debug, posso solo vedere i tasti che giacciono nel dizionario, ma non il rispettivo valore di ciascun tasto.Come monitorare i valori in un dizionario nella finestra di controllo VBA di Excel?

C'è un modo per vedere anche il valore? Renderebbe il debug molto più facile per me.

MODIFICA: Sulla base delle vostre risposte, non esiste una soluzione facile, ma posso fare quanto segue.

Utilizzare una variabile globale Dim d_obj As Object e monitorarlo costantemente e ogni volta che ho bisogno di cercare un valore di un dizionario, digito nella finestra immediata Set d_obj(key) = ... e sarò in grado di vedere il valore nella finestra di monitoraggio.

Ciò che posso fare in aggiunta è scrivere una funzione che accetta un dizionario e restituisce i valori come una lista e usa questa funzione in modo simile nella finestra diretta. Grazie a tutti!

+0

Vuoi dire che si desidera vedere il 'valore', così come la chiave? – markblandford

+1

>>> "Posso vedere solo i tasti che si trovano nel dizionario, ma non il rispettivo valore di ciascun tasto." <<< Come si esegue il debug per visualizzare i valori? Funziona in una finestra immediata. '? dict.Item (1)' –

+0

http://stackoverflow.com/questions/738412/get-the-key-of-an-item-on-a-collection-object – jpinto3912

risposta

15

Di solito digito dict.items nella finestra immediata, selezionalo e vai MAIUSC + F9 per inserirlo nella finestra di controllo.

In alternativa, ecco una battuta per la finestra immediata, per elencare tutti gli articoli:

for each i in dic.Items: debug.Print i: next 
Problemi correlati