大家好,后疫情时代一定会到来,各行各业,都将是一场战胜萧条的无声的战役。无论怎样,我们一定要坚信,疫情终将会过去,曙光一定会到来。后疫情时代将会是一个全新的世界,很多理念都将被打破,大多数人不会再享受体制内的保护,对于我们每个人,要尽可能多的学习有用的知识,为自己充电。在今后更加严峻的存量残杀世界中,为自己的生存进行知识的储备,特别是新知识的储备。为后疫情时代做的必要准备。
今日继续和大家分享VBA编程中常用的常用"积木"过程代码。这些内容大多是我的经验和记录,来源于我多年的经验。今日分享的是NO.244,内容是:
VBA过程代码244:VBA中动态数组的定义及创建
VBA过程代码244:VBA中动态数组的定义及创建
Sub Mynz()
Dim arr() As String
erow = [c65536].End(3).Row '最后一个非空单元格行号
j = 1 '数组索引号
xcount = Application.WorksheetFunction.CountIf([c1:c65536], "王*") '统计有多少姓王的学生
ReDim arr(1 To xcount) '重新定义数组大小,元素共有xcount个
For i = 1 To erow
If Left(Cells(i, 3).Value, 1) = "王" Then
arr(j) = Cells(i, 3).Value '给数组元素赋值
j = j + 1 '索引号加1
End If
Next i
[d1:d65536].Clear '清除原有数据
[d1].Resize(xcount, 1) = Application.WorksheetFunction.Transpose(arr) '将数组输入单元格区域
End Sub
代码解析:
1 Dim arr() As String 定义了一个动态数组。
2 xcount = Application.WorksheetFunction.CountIf([c1:c65536], "王*") '统计有多少姓王的学生
ReDim arr(1 To xcount) '重新定义数组大小,元素共有xcount个
通过求出姓王的学生的个数从而知道数组的上下界
3 Application.WorksheetFunction.Transpose(arr) 讲数组arr 的内容转置填充,对于一维数组来说,中间是以逗号分隔的,如果想纵向填充,要进行转置,这可以结合之前工作表数组的表述来理解,逗号是分列,分号是分行。
VBA是利用OFFICE实现自己小型办公自动化的有效手段,我根据自己20多年的VBA实际利用经验,现在推出了四部VBA经验学习资料,是我"积木编程"思想的体现。
第一:VBA代码解决方案,是VBA中各个知识点的讲解,覆盖了绝大多数的知识点;
第二:VBA数据库解决方案,是数据处理的专业利器,介绍利用ADO连接ACCDB,EXCEL。
第三:VBA数组与字典解决方案,讲解VBA中的数组和字典的利用。
第四:VBA代码解决方案之视频,是专门面向初学者的视频讲解,可以快速入门,更快的掌握这门技能。
目前正在写第五部教程:VBA中类的解读和利用,希望在年内陆续在各个平台和大家见面。
VBA真的非常实用,希望大家掌握这个工具,利用这个工具,让自己在工作中轻松,高效,快乐。学习有用的知识,让健康的知识服务于大众,不要想不劳而获,更不要去偷奸取巧,踏踏实实,沉下心,提高自己,为后疫情时代做好知识的储备。