logo

当前位置:首页>滚动 > >正文

ExcelVBA 模板填数

ExcelVBA 模板填数
2023-08-13 19:25:08 来源:哔哩哔哩

网友提问:

回答网友问题:

关于模板填数,没有统一代码,就像处理合并单元格与多行表头一样,一种模板写一个代码


(相关资料图)

当你模板或数据发生变化时,代码也要跟着改变。

关于这个问题,我在答网友问中反复解答过

/read/readlist/rl613651

思路:获取每个公司的名称,筛选每个公司,把筛选结果复制过去。至于细节,需要您系统学习。

关于获取每个公司的名称我讲过字典去重,也讲过office365中的unique函数

其实还有另一种方法,我以前也讲过,只是用的少,今天再用一次,就是把数据存到数组,把数组写入单元格,去单元格去重。我测试了一下104W行数据大约是5秒钟。(此方法不适合你开发软件,只适合办公自动化,但是会精简代码量)

首先是数据准备,不想写太多代码,就在数组准备上下一点功夫,例如

我加个序号列,把公司列移到最后,字段名改成备注,后续我就少了很多麻烦

另外,我们需要什么,就拿什么字段,把全天下的字段都摆出来然后在代码中处理那是开发软件的人。

关于模板,我这样处理

学ExcelVBA肯定是学过工作表函数的,像这种最简单的工作表函数,我在Excel基础篇里都讲

Excel基础篇:/video/BV1Z7411c7U6

如果你没学过,那只能跟着我写,不是我没讲原理,初中英语老师可能会重讲ABC,但是初中数学老师肯定不会重讲九九乘法口诀。

这样就可以无论增加多少行,都能从F4到最后一个数字的行进行求和

然后写代码如下:

运行后得到

声明:我帮您是因为您做的是办公自动化,是要把每个公司的表打印或观赏,如果有一天,您要数据分析,请使用明细表,不要用模板生成的表。可以这样理解,您现在做的是把一条活鱼做成一道菜,后者是想将一道菜变成活鱼再放生。

ExcelVBA教程:/video/BV1rt4y1a72y

标签: