मेरे पास कोड का एक टुकड़ा है जो ऐसा करने की अपेक्षा नहीं करता है। वीबीए Arrays सभी माध्यमों से mutable हैं, लेकिन ऐसा लगता है कि जब वे एक कुंजी में कुछ चाबियों के मूल्य के रूप में संग्रहीत कर रहे हैं, वे अब mutable नहीं हैं। कोई विचार?एक वीबीए शब्दकोश में सरणी मान बदलना
Sub foo()
Dim mydict As New Dictionary
mydict.Add "A", Array(1, 2, 3)
MsgBox mydict("A")(1)
''# The above shows 2, which is fine
mydict("A")(1) = 34
MsgBox mydict("A")(1)
''# The above also shows 2, which is not fine
End Sub
समस्या यह है कि जब आप mydict ("ए") के साथ शब्दकोश से सरणी प्राप्त करते हैं, तो आपको एक प्रति प्राप्त होती है और संदर्भ नहीं। देखें: http://stackoverflow.com/questions/1402876/vba-populating-collection-with-arrays/1402986#1402986 – jtolle