VBA 不能给数组赋值,其实只是不能给静态数组整体赋值

69 篇文章 20 订阅

1 问题:VBA报错:不能给数组赋值!

  • 其实并不是 所有数组不能赋值
  • 其实是不能给静态数组,整体赋值!
  • 只是因为当前处理的是一个静态数组

2 什么是静态数组 (只是大小静态!! 赋值可变!)

2.1 静态数组

  • 静态数组,不是数组完全不能修改
  • 而是数组大小已经确定了

2.2 静态数组不能被整体赋值

  • 静态数组,不能被整体赋值,无论用array()  或者[{}]等各种方法都一样不行
  • array()函数返回的必须是变量,或变量对等的动态数组,不能赋值给静态数组
  • arr2 = [{3, 4, 5, "6", 7, 0, 1, 2, 8, 9}] 也不行
  • arr2() = Array(3, 4, 5, "6", 7, 0, 1, 2, 8, 9)

2.3 静态数组也不能被重复定义,数组大小

  • 也不能被重复 定义大小

2.4 但是,静态数组可以被单个元素赋值

3 动态数组 可以被各种赋值

  • 动态数组可以被整体赋值改变,或者被单个改版
  • 但是动态数组的赋值同样要小心
  • 合理使用 redim preserve  arr() 大小,保留之前的值

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值