¿Cómo determina VBA los datos a través de claves de diccionario?
No utilice objetos como CLAVE. En su lugar, utilice tipos simples. El método para determinar la existencia es Exists. Es mejor utilizar declaraciones de asignación en lugar de .Add para evitar problemas causados por la duplicación. Código modificado:
Opción?Explicit
Sub?dic()
Dim?d,?i%,?j%,?temp p>
Dim?k,?v
Set?d?=?CreateObject("Scripting.Dictionary")
For?i?=?1?To?Sheet1 .[ a66].End(3).Row
k?=?Trim(Sheet1.Cells(i,?1))
v?=?Sheet1.Cells(i ,? 2).Valor
d(k)?=?v
Siguiente?i
Para?j?=?1?A?Hoja2 [a66. ].End(3).Row
k?=?Trim(Sheet2.Cells(j,?1))
If?d.Exists(k)?Then p>
Hoja2.Celdas(j,?2).Valor?=?d(k)
¿Fin?Si
Siguiente
¿Fin? Sub