当前位置: 首页 > news >正文

数组与字典解决方案第三十一讲:VBA数组声明及赋值后的回填方法

《VBA数组与字典方案》教程(10144533)是我推出的第三套教程,目前已经是第二版修订了。这套教程定位于中级,字典是VBA的精华,我要求学员必学。7.1.3.9教程和手册掌握后,可以解决大多数工作中遇到的实际问题。

这套字典教程共两册,一共八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:数组与字典解决方案第三十一讲:VBA数组声明及赋值后的回填方法

【分享成果,随喜正能量】326人性让你问菩萨:我还能再多要点什么。佛性让你问自己:我还能为人性做点什么。一个人只要充满信心,就会对自己的前途充满希望、对自己的生活充满热爱、对自己所从事的每一份工作兢兢业业地去做。

第三十一讲 VBA数组声明及赋值后的回填方法

大家好,我们今日继续VBA数组与字典解决方案,今日讲解VBA数组的声明,一些朋友会问了:数组都讲了这么长时间了,怎么才讲声明啊?是的,有些知识不到一定的程度即使讲了,大家也不能深入的理解,只有到了一定的程度,再次讲解,大家才能有真正的收获。

1 数组的声明方法

1) Dim arr as Variant

2) Dim arr(1 to 10, 1 to 2 )

3) Dim arr()

4) ReDim arr(1 To k)

我们分析一下各种声明方法:

第一种:声明通常用于单元格直接装入数组如:arr =range("a9:c100")

这种装入非常简单,直接用变量 = 单元格区域即可。但是这里要注意的是对于这种写入时数组的声明只能是: Dim arr as Variant

这时,声明是一个变体变量,不能声明其他数据类型。

第二种:通常用于一个固定数组的声明,同时给出了数组的上下界。这种声明要注意的是不能一次性的装入单元格的数据,要靠循环。

第三种,是一个动态数组的声明,也就是说,我们在命名数组时还不知道数组的大小,要靠后期的再次定义。

第四种 是再次声明arr的大小,以正好盛下k数量的值。

2 把单元格数据填入数组和数组数据的回填

我们利用数组就是为了计算,下面我们看看把工作表中的数据填入数组,及计算后数组数据回填给工作表单元格的方法,看我给出的代码:

Sub MyNZsz_31() '第31讲 数组的声明及赋值的回填

Dim arr As Variant '注意此处的Variant

Dim brr() '注意此处定义了一个动态数组

Sheets("31").Select

arr = Sheets("31").UsedRange 'Usedrange的行数和列数是未知的

MsgBox UBound(arr, 1) '可以计算这个区域有多少行

MsgBox UBound(arr, 2) '可以计算出这个区域有多少列

ReDim brr(1 To UBound(arr, 1), 1 To UBound(arr, 2))

For x = 1 To UBound(arr, 1) '通过循环在arr数组中循环

For y = 1 To UBound(arr, 2)

brr(x, y) = arr(x, y) * arr(x, y) '数组自身相乘

Next

Next

'把数组放回到单元格中

Range("A" & Range("A1").End(xlDown).Row + 2).Resize(UBound(arr, 1), UBound(arr, 2)) = brr

End Sub

代码截图:

代码的讲解:此代码在代码部分我都做了详细的注释,不再一一讲解了,仅看看下面的这句代码:

Range("A" & Range("A1").End(xlDown).Row + 2).Resize(UBound(arr, 1), UBound(arr, 2)) = brr

这句设定了数组回填的区域大小,注意这个区域必须和数组的大小要一致,不然会产生错误。所以我利用了Resize(UBound(arr, 1), UBound(arr, 2))来保证这一点。

下面我们看代码的运行:

运行前:

运行,先提示行数:

再提示列数:

最后看结果:

今日内容回向:

1 如何给数组声明?

2 上述实例如果再次运行一下会有什么结果呢?如何避免呢?

我多年的VBA实践经验,全部浓缩在以下教程中:

http://www.dtcms.com/a/562892.html

相关文章:

  • 视差设计网站长沙做网站价格
  • 有专门为个人网站做推广的吗网站设计相似侵权吗
  • 微信清粉网站开发企业网络营销的意义
  • 高校后勤报修系统|物业管理|基于SprinBoot+vue的高校后勤报修系统(源码+数据库+文档)
  • 常熟市建设工程发承包网站网址大全软件下载安装
  • 1009 Product of Polynomials
  • 宿州市建设工程质量监督站网站婚纱网站源代码
  • 电子商务网站建设的总体目标想再算命网站上登广告怎么做
  • Improved Implicit Neural Representation with Fourier Reparameterized Training
  • 苏州优化网站公司浏览器无法跳转二级页面
  • 基于环形队列与信号量的生产者-消费者模型深度解析与实现
  • 做网站诊断discuz 同步wordpress
  • 手机端网站html好看的模板企业vi设计公司定制
  • 微信网站建设企业中国建设人才平台网站
  • 网站空间 虚拟主机dede视频网站模板
  • 邮件登录之自定义邮件
  • 唐山建网站公司wordpress文章分段
  • 镇江建设银行网站网站搜索防止攻击
  • 网站运营与建设做信公众号首图的网站
  • 公司产品网站应该怎么做企业服务中心工作内容
  • 性倒错概述!
  • 汽车销售在哪些网站做推广seo关键词如何设置
  • 【Linux】Linux权限讲解 :写给文件的一封情书
  • 沈阳开发网站公司广告店
  • 南阳高端网站建设怎么制作古装视频
  • 网站建设公司长春wordpress 广州
  • 湖北 网站建设wordpress后台登陆界面
  • 电子商务网站建设调查问卷网站职业技术培训学校
  • 婚庆行业网站建设各大免费推广网站
  • 织梦网站演示苏州住房与城乡建设网站