zoukankan      html  css  js  c++  java
  • 数组

    数组是变量的一种,是同一类型变量的集合,与C语言啊里面的数组相似。

    注意几点:数组名,数组长度,数据类型,索引,变量

    声明数组和赋值

    数组声明中要写清楚数组的长度(大小),

    Public(Dim)数组名 (a to b) As 数据类型; :Public和Dim针对不同的作用域,“a to b”指定数组的长度,编号从a开始。

    或者可以直接说明数组大小:Public(Dim)数组名 (n) As 数据类型;

    n代表数组大小(长度),此时编号从0开始

    若在模块第一句写上“Option Base 1”,则编号从1开始

    给数组赋值即是对数组中的元素赋值,直接数组名+组内编号=内容;

    Eg:声明一个存放成绩的数组,1到6分别对应6门学科,给语数外三科赋值112、134和126分:(事实证明我记错单词了,成绩分数的单词应该是score,请自行纠正)

    Sub test()

        Dim course1(1 to 6) As Byte

        Course1(1)=112

        Course1(2)=134

        Course1(3)=126

    End Sub

    或者Dim course1(5)As Byte

    其规则和普通变量赋值相似,日期和文本。

    数组的维数

    VBA中数组同样有2维、3维和多维,和编程语言中的相似。(可以想象成很多层的数据存放,一维即使一行或者一列,二维类似表格,三维接近立方体,多维可以参考文件夹形式)

    在声明的时候,只需在数组长度添加其他维即可:

    Eg:Dim course2(1 to 20,1 to 6) As Byte

    或者Dim course2(19,5)As Byte

    为声明一个二维的用于分别存储20名学生的6科成绩的数组;

    赋值和一维数组一样;

    Eg:course2(4,5)=87   

    表明第4名学生的第5门学科得分87;

    声明动态数组

    可以在定义数组时不说明数组长度,括号内容为空,然后在程序中使用ReDim语句重新制定大小,且不能改变已定义了的数组类型(若定义类型为Variant型,在一些情况下可以改变,这个以后再讨论)

    Eg:

    这里的Application.WorksheetFunction是VBA引用excel函数的的格式,Application代表当前Excel运行的程序,WorksheetFunction代表调用当前Excel程序里的函数,此时我调用的counta(用来统计非空单元格的数量)函数。

    其他生成数组的方法:(不详说)

    利用Array函数、Split函数、Range对象生成。详细的自行查找学习。

    几个数组相关函数

    UBound和LBound分别用于计算数组的最大索引号和最小索引号。

    这里注意,索引号指的数组元素的编号,和数组定义里边的(a to b)相关,比如定义时(13to 23),索引编号从13开始,而数组大小是指的元素个数,不是看编号。

    Eg:

        Dim a As Byte,b As Byte

        a=UBound(course1)

        b=LBound(course1)

    如多是多维的,需要指定维数分开计算。

    ​不过由于我还不知道乘法计算,先这样展示。可以先计算出来再展示,我就偷懒了。

    Join函数:将一个一位数组里的元素使用指定的分隔符连接成一个新的字符串

    Eg:

    (记住是分隔不是组合,所以最后一只没有羊)

    将数组写入单元格:

    有了数组数据的录入和存储,还需要将数据和结果进行展示;除了上边的用MsgBox进行展示,还有将数据在单元格中进行展示。

    结合之前的单元格赋值:

    Range(“A1”).Value=值,A1代表单元格位置;

    Eg:

    如果是二维的,在选择显示区域时对应大小就行,行列数一致。

  • 相关阅读:
    React同构直出优化总结
    Kubenertes资源分配之Request和Limit解析
    Node Server零基础——开发环境文件自动重载
    Vue组件开发实践之scopedSlot的传递
    【干货合集】Docker快速入门与进阶
    ES6 中的 Set
    十个书写Node.js REST API的最佳实践(上)
    oozie配置安装与原理
    Livy原理详解
    阿里(蚂蚁金服)招聘
  • 原文地址:https://www.cnblogs.com/rhongp/p/6383744.html
Copyright © 2011-2022 走看看