文档介绍:ExcelVBA从跨表取数实例入门
ExcelVBA从跨表取数实例入门
ExcelVBA从跨表取数实例入门
Excel VBA 从跨表取数实例入门
一、任务需求: 今天有个教学任务是跨表取数, Sir 在写
代码的过程中比较纠结,要如何写才能面面俱到帮助他人入门。左思右想地写完,发现还涉及挺多内容的。具体的取数要求是:按照输出表给定的日期,到数据源表里取对应的信息。具体的格式如下图
表一:数据源表表二:输出表
二、任务规划
取数,主要是要确认数据源的单元格行号与列号。第一步先获取指定的日期,然后在数据源表的日期区域里循环,找到相同日期,记下数据源的列号。第二步循环输出单元格,将每一个项目都与数据源的项目进行循环比对,找到相同项目,记下数据源的行号。然后输出。
三、实现代码
四、涉及到的知识
1、为什么要声明变量?
Sir 的理解是声明变量第一点好处就是精简代码。 比
如 Set wb= ,wb 就可以取代后者冗长的表达。又如 wbPath= ,
wbPath
同样可以起到同样的效果。
其次是使用对象
ExcelVBA从跨表取数实例入门
ExcelVBA从跨表取数实例入门
ExcelVBA从跨表取数实例入门
变量时,
VBE
的智能感知功能可以加快编程速度。
如图当声
ExcelVBA从跨表取数实例入门
ExcelVBA从跨表取数实例入门
ExcelVBA从跨表取数实例入门
明了 wb 为 Workbook 对象之后,编写代码过程当中输入 VBE
会自动弹出相应的属性。
2、为什么要使用 With End With 语句 ?
Sir 的理解是当你需要操作同一个对象的多个属性
时,就有必要使用 With End With 。除了精简代码以外,更重要的是减少对对象的访问,可以提高代码运行效率。第
二段代码不仅精简, 可读性强, 而且只访问了 wb 对象一次。
如果两个例子分别加上循环之后就可以看出效率的差异。 Sir 的电脑实测循环 10000 次之后,两段代码时间差为 秒左右,第二段稍微要快点。