动态数组怎么赋值 怎样定义数组并动态赋值

小猪 516 0

VBA++ 题记:一剪闲云一溪月,一程山水一年华。一世浮生一刹那,一树菩提一烟霞。岁月静好,现世安稳。纵算云水漂泊,心若安宁,亦可淡若清风。希望见者与不见者都能安康。静下心,多学习有用的知识,多提升自己的水平和能力,这才是正道。期间就像一张网,你撒在哪里,你的收获就在哪里。谨记自己的方向,这是路之所在。适当节制自我的各种欲望,谁都逃不过期间的历练,谁都是命运的行者,谁都是在人生的道路上一步一趋的行路人。你要做的,是悄悄地去努力,等你变厉害之后,把自己也吓一跳,才是你现在需要当作目标的事。把生活与工作打理好,不负年华。不要轻言你是在为谁付出和牺牲,其实所有的付出和牺牲最终的受益人都是自己。

动态数组怎么赋值 怎样定义数组并动态赋值-第1张图片-小猪号

今日内容是和各位分享VBA编程中常用的 "积木"过程代码,这些内容大多是我的经验的记录。来源于我多年的经验。今日分享的是第NO.220,内容是:动态数组的赋值及回填过程

VBA过程代码220:动态数组的赋值及回填过程

Sub MyNZsmarttwo()

Dim i%, xrow%, j%, xcount%

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

动态数组怎么赋值 怎样定义数组并动态赋值-第2张图片-小猪号

代码解析:mynz过程将一个C列存放了学生姓名工作表,有姓"王"的学生存放在动态数组arr中,然后回填到工作表中。在回填的过程的中利用了工作表的转置函数Application.WorksheetFunction.Transpose(arr) 是将数组输入单元格位置。这个单元格位置用的是Resize函数扩展来的,这个函数就是将一个原单元格位置进行扩展,扩展的行数是xcount列数不做扩展。

动态数组怎么赋值 怎样定义数组并动态赋值-第3张图片-小猪号

VBA是实现自己小型办公自动化的有效手段,我根据自己20多年的VBA实际利用经验,现推出了四部VBA学习教程,这些是我多年编程经验的记录,也是我"积木编程"思想的体现。每一讲都是一块"积木",可以独立的完成某些或者某类的过程。利用这些可以大大提升自己的编程效率。

第一:"VBA代码解决问题方案"是PDF电子版,是VBA中各个知识点的教学,覆盖了绝大多数的知识点,是初学及中级人员必备的资料;

第二:"VBA数据库解决问题方案"是PDF电子版,数据库是数据处理的利器,对于中级人员应该学会这个内容了。

第三:"VBA数组与字典解决问题方案"是PDF电子版,教学VBA的精华----字典,是咱们打开思路,提升代码水平所必备。

第四:"VBA代码解决问题方案"视频。是专门给第一次开始学的人教学的视频教程,通过147讲的视频学习可以让你更快的学会这门技能。

浮云掠过,暗语无声,唯有清风,惊了梦中啼莺。望星,疏移北斗,奈将往事雁同行。

阡陌人,昏灯明暗,忍顾长亭,多少VBA人,暗夜中,悄声寻梦,盼却天明,怎无凭!

这几句词是我借鉴过来的对VBA人员的写照,正如一位朋友说的那样:学vba之前蛮悠闲的,学之后就没期间悠闲了。确实,还是很精确的比喻,当你会了一门手艺,你就有了可以被利用的价值,这种价值的反作用就是自己价值的提升。愿每一位VBA人员都有这样的价值吧!

动态数组怎么赋值 怎样定义数组并动态赋值-第4张图片-小猪号

懒惰是很奇怪的物品,它使你以为那是安逸,是休息,是福气;但说实话它所给你的是无聊,是倦怠,是消沉。不要懒惰,还是多学习些有用的知识吧,哪怕只是点滴。

标签: 代码

抱歉,评论功能暂时关闭!