眼下"人工智能"是一个非常火的词,在抖音上,Phython编程也是被各路网培炒得火热,当然Phython也是有这个实力的.但在Excel里,在VBA里,我们依然可以实现很多很"炫酷"的功能.

这一次短图文,咱们就来说一说VBA里"数组"的事.当然,咱们说得也比较简单,仅仅聊一下自己的一点经验与看法.

1,何谓"数组"?

VBA里,所谓"数组",咱们可以理解为一种数据阵列,或者叫做数据矩阵,数组一定是成行成列出现的.

在这里,咱们得多说一点内容,数组是没有格式的,只有数据,而且,数组只是出现在内存里的,也正是因为如此,所以,要想通过"数组"的方式进行相关的计算,我们就必须把"数组"装入内存,然后再根据我们的需要进行计算,计算完成后,再根据我们的需要输出在工作表里.

如果实在对数组理解不了的话,我们可以把一个工作表里的成行成列的数据先姑且看成是数组.总之,数组就是装入内存里的成行成列的数据.

2.数据装入内存.

VBA里,要想使用数组这个方式来处理数据,我们必须先把数据先装入数组,否则,不可得也!

那么,如何把数据装入数组呢?

arr=sheets("数据表").range("a1").CurrentRegion.value

代码解释:把名称为"数据表"的sheet表里的数据以单元格"A1"为左上角的顶点装入数组arr里.使用这种方式是把数据装入数组的最简单的方法.当然,这并不是唯一的方法.

3.数组计算.

在工作表里,我们所能进行的加减乘除的计算,在数组里,我们依然可以进行,而且速度更捷一些.对于数组而言,"数组+VBA字典"的方法实现多字段的数据汇总一定是用得最多的.对于VBA使用得多的小伙伴来说,我想下面一段代码,你一定见过:

xm=year(arr(i,3)) & month(arr(i,3)) & arr(i,4)

d(xm)=d(xm)+arr(i,6)

或者d(xm)=arr(i,6),

或者d(xm)="",

或者d(xm)=d(xm) &arr(i,6).

这一段代码就是数组与字典结合实现多字段求和的标准表达式.其中xm就是用来计算的字段,在这里我们可以理解为"计算的标准",即符合以上的条件的行的数据进行求和.而arr(i,6)则告诉我们是对哪一列的数据进行求和.

上述几种不同的运算公式代表的是不同的需求.第一个是求和;第二个是提取字段所对应的值,已经确定是一个字段仅对应一个;第三个是提取字段,使字段所对应的值为空;第四个是进行字符的连接,一般欲通过字段长度来进行判断时用此表达式多一些.

4.数组的输出.

数组的输出肯定是根据我们的实际需要来进行输出的,VBA代码仅一句即可:

.range("a1").resize(ubound(arr),ubound(arr,2))=arr

说明:ubound(arr)是数组的行数的表达式,ubound(arr,2)是数组的列数的表达式.意思是以当前的工作表的"A1"单元格为顶点,以ubound(arr)为行数,ubound(arr,2)为列数输出arr内容.

以上内容是个人在数组的应用过程中的一些经验之谈,想学习VBA的朋友可以多了解一些,说不定在日后的工作过程用得着.

vba 方法和数据成员未找到_VBA基础知识,数据装入数组的方法,currentregion方法最简单...相关推荐

  1. JNI学习开始篇 基础知识 数据映射及学习资料收集

    JNI学习开始篇 基础知识 数据映射及学习资料收集 JNI介绍 JNI(Java Native Interface) ,Java本地接口. 用Java去调用其他语言编写的程序,比如C或C++. JNI ...

  2. 网络基础知识 快速计算子网掩码的2种方法

    网络基础知识 快速计算子网掩码的2种方法<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office ...

  3. 大数据入门第一课 Hadoop基础知识与电商网站日志数据分析

    大数据入门第一课 Hadoop基础知识与电商网站日志数据分析 本课程从Hadoop核心技术入手,以电商项目为依托,带领你从0基础开始上手,逐步掌握大数据核心技术(如:HDFS.YARN.MapRedu ...

  4. 史上最坑的证书报错解决方法:Code=3000 未找到应用程序的“aps-environment”的权利字符串

    在ios注册远程通知获取设备令牌token的时候 //注册远程通知获取设备令牌toKen [[UIApplication sharedApplication] registerForRemoteNot ...

  5. Nginx启动不了报错未找到命令的解决方法(- bash: nginx: 未找到命令)

    故障现象 nginx stop - bash: nginx: 未找到命令 解决方法 1,打开环境变量所在的文件 vim /etc/profile 2,在profile文件末尾,加上一行 用来指向你的n ...

  6. 1023day5:class类属性方法、每次执行类属性+1、内建模块、时间装饰器wrapper、面向对象__slots__方法:限制类的属性等基础知识、正则表达式基础知识、多态鸭子类型

    文章目录 一.类class 1.Python类class 属性 方法 2.类的构造方法__init__() 3.每次执行一次类的属性+1 二.模块 1.内建模块 2.第三方模块 3.定义自己的模块 三 ...

  7. 未掌握的基础知识之HTML+CSS

    HTML基础知识整理 HTML canvas HTML5相关的框架或类库 DHTML 的动态样式的作用 超链接样式顺序 HTML5新增的表单元素 HTML5中新增的属性 块级元素 行内元素 常见的块级 ...

  8. Jquery源码中的Javascript基础知识(四)— jQuery.fn.init方法

    $() 即调用了jQuery.fn.init方法 jQuery = function( selector, context ) {return new jQuery.fn.init( selector ...

  9. 大数据和hadoop的一些基础知识

    一.前言 大数据这个概念不用我提大家也听过很多了,前几年各种公开论坛.会议等场合言必及大数据,说出来显得很时髦似的.有意思的是最近拥有这个待遇的名词是"人工智能/AI",当然这是后 ...

最新文章

  1. 在AFN中使用NSXMLParser解析服务器返回的XML数据
  2. 在用户线程/主线程中推荐MsgWaitForMultipleObjects代替WaitForSingleObject和WaitForMultipleObjects()函数
  3. Cascading——针对Hadoop MapReduce的数据处理API
  4. 谈Apache OFbiz 会员模块表结构设计
  5. 计算机入门模拟试题abcd,计算机一级计算机基础及WPSOffice应用考前模拟试题及答案(7)...
  6. 当爬虫工程师遇到 CTF丨2021 年 B 站 1024 安全攻防题解
  7. 6万人同时离场,竟然一点都不挤?原来用了这个神器
  8. Hive之函数与自定义函数
  9. php获取当前域名、主机、URL、端口、参数、网址、路径、代理等
  10. sql入门基础知识分享
  11. 这12道经典性能测试人员面试题,你都见过哪几道?(下)
  12. c语言通过定义变量实现对,C语言中定义变量“#X”,X##, ##X 和“##X##”用意
  13. C++之lock_guard和unique_lock自动加解锁区别
  14. 苹果在中国的审核规律探索二
  15. java制作游戏开始界面,太香了
  16. 美图秀秀java代码,【Java】SpringMvc整合美图秀秀M4(头像编辑器)
  17. 第十章 VLAN间路由
  18. MIT JOS lab2内存管理实验记录
  19. 《经济半小时》 20130906 指尖上的商机(五)数据时代
  20. 【矩阵论】04——线性空间——子空间

热门文章

  1. 《好歌曲》选手唱到杨坤大哭 刘欢大跌眼镜
  2. 爬虫普法与美国机场分布数据(附全部数据下载地址)
  3. CSK6语音交互最小硬件系统电路设计
  4. 离线语音控制芯片——智能垃圾桶语音方案
  5. katalon Record
  6. iOS8.1.1 手机图片变形问题
  7. kafka 两段式提交_如何理解两阶段提交?
  8. SRAM和DRAM工作原理介绍
  9. 会员管理小程序实战开发01-总体介绍
  10. Spring七种事务传播行为