玖叶教程网

前端编程开发入门

如何将Excel数据表单元格保存为数组,VBA数组进阶应用

No.1

在vba编程中,数组应用是一个十分有用的方法。

如何把数据表作为数组进行处理,是编程过程中的一个重要技能。

学会之后,将大大提高编程技术,也将使数据处理的过程变得更加流畅。

No.2

上图为例,把表格内容作为数组值进行保存,然后通过流程编码对成绩进行一个比较判断,最终得出一个成绩等级的判定。

也就是通过成绩的多少来确定一个等级区间。

同样的判断在不同的表格里应用也比较多。

如一个销售表里面判断某一个人或一类商品的销量,如果在某一个区间就做出爆款判定,如果销量小于某一个值,说明此商品应该下架。

同类型数据表格,我们用数组来做处理,效果会很好。

No.3

要对表格进行一个数组保存,我们用到上图的一个属性CurrentArray,此属性是Range对象里的一个属性。

功能是将表格内容返回到一个数组里。

如:

Dim NewArrr

NewArr=Thisworkbook.Activesheet.Range("A1:A10").CurrenRegion

通过以上代码,创建了一个数组NewArr,包含了数据表中A1:A10的数据内容。

当然,vba并不是这么解释的,但可以这么理解。

No.4

实际上表格转换为数组,只要将Range对象对数组直接进行赋值即可,也就是把表格单元格直接赋值给数组。

如下例子:

Dim rs As Range
    Set rs = s.Range("B2:B5")
    Dim ar
    ar = rs
    MsgBox UBound(ar)

执行之后,ar就是一个包含B2:B5单元格值的数组。

ar(1,1)

ar(2,1)

ar(3,1)

ar(4,1)

ar(5,1)

注意:

这个数组不是一维数组,它是一个二维数组。

如果要访问数组中的第一个值,要用ar(1,1)来进行访问,最后一个值用ar(4,1)访问。

No.5

可以看到上图为代码示例,是这个例子的全部代码,实际应用要对应着表格进行。

下面看下代码的具体内容:

Private Sub GetDengji()
Dim s As Worksheet
Set s = ThisWorkbook.ActiveSheet
Dim r As Range
Set r = s.Range("B2")
Dim ArrMa As Variant
ArrMa = r.CurrentRegion '数组赋值
Dim ui As Long, li As Long, i As Long, j As Long, x As Long
li = r.CurrentRegion.Rows.Count '行数
ui = r.CurrentRegion.Columns.Count '列数
x = r.CurrentRegion.Count '数组总数
Dim DJ As Variant
DJ = Array("优秀", "优良", "不及格")
    For i = 1 To li '循环行
        For j = 1 To ui '循环列
            If j = 5 And VBA.Len(ArrMa(i, j)) <> 0 Then '条件判断第5列
                If VBA.IsNumeric(ArrMa(i, j)) And ArrMa(i, j) >= 80 Then s.Cells(i, j + 1).Value = DJ(0)
                If VBA.IsNumeric(ArrMa(i, j)) And ArrMa(i, j) >= 60 And ArrMa(i, j) <= 79 Then s.Cells(i, j + 1).Value = DJ(1)
                If VBA.IsNumeric(ArrMa(i, j)) And ArrMa(i, j) <= 59 Then s.Cells(i, j + 1).Value = DJ(2)
            End If
        Next j
    Next i
End Sub

应用数组编码可以极大提高程序的运行效率,当然了,如果是初级编程人员,对于数组的学习还是有不小困难。

首先应用对数组概念进行一个全面学习。

然后,再着手编辑一些小型程序代码,来验证对数组的理解。

无论哪种编程语言,都将应用到数组,通过对数组的学习,我们会引申出另一个学习内容。

字典。

没错字典是整个编程中,相对独特的一种类型。

由于它的特殊性,在应用过程中也是相当出色。

不得不学。

欢迎关注、收藏、转发

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言