阳光上的桥吧 关注:26贴子:260
  • 9回复贴,共1

VBA 字典值为数组时,数组的元素将无法修改

只看楼主收藏回复

VBA的字典被广泛使用在汇总、统计,使用中遇到一个问题,如果字典的值是数组类型,数组元素的值是无法修改的,想不通。
直接使用数组的例子:

使用变量数组添加的例子:


IP属地:重庆1楼2018-05-08 22:28回复
    大神,帮我编一个有关数据方面的组合好吗


    IP属地:广东2楼2018-12-18 18:42
    回复
      试试先把值赋给一个数组,再把数组整个赋值给字典,


      IP属地:河南来自手机贴吧3楼2019-08-21 00:39
      收起回复
        您好,请问这个问题得到解决了吗


        IP属地:重庆4楼2020-12-04 09:24
        回复
          我知道原因了,VB对数组的赋值是深拷贝,不是参照、或链接,把字典值赋予临时变量的时候进行了深考虑,数组复制了一份,修改临时变量的值不会影响字典保存的数组。直接对字典数组项进行修改的时候,系统内部实际上会自动新建临时变量供访问,因此也无法修改。
          解决的办法修改临时变量(数组)的元素之后,重新用临时变量(数组)更新字典,不过这样会造成大量的内存操作,数据量特别大的时候需要综合考虑效率。


          IP属地:重庆5楼2022-04-15 11:00
          收起回复
            学习到了


            IP属地:江苏6楼2023-11-01 10:16
            回复


              IP属地:江苏7楼2023-11-01 10:18
              收起回复