2012-03-21 17 views
16

Estoy usando diccionarios en Excel VBA a través de dict As New Dictionary (y agregando una referencia al tiempo de ejecución de scripting). Cuando trato de monitorearlos durante la depuración, solo puedo ver las claves que se encuentran en el diccionario, pero no el valor respectivo de cada tecla.¿Cómo controlar los valores en un diccionario en la ventana de visualización de Excel VBA?

¿Hay alguna manera de ver el valor también? Haría la depuración mucho más fácil para mí.

EDIT: Según sus respuestas, no hay una solución fácil, pero puedo hacer lo siguiente.

Utilice una variable global Dim d_obj As Object y supervise constantemente y cada vez que necesite buscar un valor de un diccionario, escribo en la ventana inmediata Set d_obj(key) = ... y podré ver el valor en la ventana del monitor.

Lo que puedo hacer además es escribir una función que toma en un diccionario y devuelve los valores como una lista y utiliza esta función de manera similar en la ventana directa. ¡Gracias a todos!

+0

¿Quiere decir que usted quiere ver el 'valor', así como la clave? – markblandford

+1

>>> "Solo puedo ver las claves que se encuentran en el diccionario, pero no el valor respectivo de cada tecla". <<< ¿Cómo estás depurando para ver los valores? Esto funciona en la ventana inmediata. '? dict.Item (1)' –

+0

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

Respuesta

15

Normalmente escribo dict.items en la ventana inmediata, selecciónelo y vaya Shift + F9 para insertarlo en la ventana del reloj.

Alternativamente, he aquí una sola línea de la ventana inmediata, para listar todos los artículos:

for each i in dic.Items: debug.Print i: next 
Cuestiones relacionadas