vba01---自动化报表

第一项:绝对引用下的自动化

(一)、日报表从其他报表上搬数据:
简介:一般一个数据源报表vlookup过去,或者数据源先过一遍数据透视再vlookup过去。
具体步骤:
1开发工具---录制宏(千万不可点击相对引用),命名为“自动化报表”,添加快捷键ctrl+q

2在报表中,使用vlookup查找源数据表2内容,双击填充班级列

image

3源数据表2不能直接v,先插入数据透视表,保存在提前建立好的现有表格中

image

然后把数据透视表字段分配好行列数值中。

最后,在报表中,使用vlookup查找透视表内容,双击填充科目列

4最后,将vlookup来的数据复制粘贴为数值格式,将表格适应视图。再把透视表里面的数据透视图删除,也可以把数据源都删除。

5这样就可以停止录制宏了。保存为“xlsm格式,启用宏的工作簿”。

6以后,启用可以点击设置的快捷键或者启用宏

注意事项:

【】凡是需要做数据透视的情况下,在做vba之前先专门插入一个工作表,命名为《透视表》。之后透视结果直接进入这张表。

如果让自己去插入,第一次插入sheet1,第二次可能插入sheeet2。如果录制的时候,插入sheet1,那永远是sheet1。下次找不到sheet1,就报错了。所以直接定义一个固定的表格,专门承载透视图

【】使用vlookup,最好按列来选中,然下来时区域会变动。(vlookup下拉时前两个参数会变动的)
【】全选中各列再点击右侧边界,就能整体自适应
【】在录制宏之前,能写的公式,写给写上
 

(二)如果想要屏蔽程序执行过程,只要结果,可以在sub下一行输入Excel.Application.ScreenUpdating = False     excel。应用程序。屏幕刷新。关闭

并在end sub上面一行输入Excel.Application.ScreenUpdating = True          excel。应用程序。屏幕刷新。打开

 
总结:录制宏就是把重复工作记录下来,之后把数据放到指定位置后,展开自动操作
 

 

第二项:相对引用对每一行数据进行循环操作

想给这个表格的每一行原有数据上面插入一行或两行-------------先安排好下面给恢复原状,再操作上面,最后鼠标放在下面

步骤:

1点击相对引用,然后录制宏

2鼠标放在a1单元格,后在第三行前面插入两行,在下面空白行将a1行复制过去,使下面情况和原来最初情况一致。

3将前两行加全部横线。此时特效完成

4。将鼠标放在下面和原来a1情况一致的a4行.

这样没有for循环,只能一次一次手动操作。所以增加for循环
image
image

屏幕更新 关闭屏幕更新        Excel.Application.ScreenUpdating = False

屏幕更新 重新开启屏幕更新 Excel.Application.ScreenUpdating = True

 
 

 

绝对引用:不管鼠标点击了哪个单元格,执行宏时,都会执行录制时操作的那个单元格。【我们使用绝对引用】

相对引用:鼠标点击哪个单元格,执行宏时,被操作的单元格以这个单元格位置为基准。

 
绝对引用,往往针对几张sheet;相对引用,一般针对单张sheet的每行数据
 
 
 
posted @ 2025-12-18 20:55  ibddindonon  阅读(17)  评论(0)    收藏  举报