- 5
- 0
- 约3.21千字
- 约 2页
- 2021-01-21 发布于天津
- 举报
精品文档
VBA 报表代码精简总结
VBA 使用在报表输出的时候,通常结合 excel 进行报表输出,其功能非常强大。但是大家对
报表经常复制前人的结果, 稍作修改即可使用。 虽说 “条条大路通罗马” ,现在本人遵循 “同
样的功能越简单越不容易出错”的原则做出以下改进:
1--模板精简:
在日常的报表编写过程中通产刚才用多张表格模板, 例如: 提升泵报表, 细格栅和沉砂池报
表,氧化沟报表,滤池池报表,进水处水质报表,月报表,年报表。 。。。
缺点:生成模板时使用 VBA 写报表时,需要一张一张打开,写入数据,一张一张保存和关
闭,需要些多个类似的 VBA 子程序,比较繁琐,容易出错,效率不高。
改进: 将以上各个工艺段的报表整合在一张工作薄里面, 每个工艺段为一张表, 写日报表时
只进行一次打开和关闭工作。
2—生成日报表的精简
传统方法采用:打开模板 -另存为 -重命名文件。
缺点:反复寻找模板文件,进行打开 -另存为 -关闭的动作,效率低,代码复杂,容易出错。
改进:使用 filecopy 函数,直接将模板复制到指定地方,顺便将文件名修改了。
3--写报表精简:
有了第一步的工作,这一步就自然水到渠成了。写日报表时:打开今日报表 -对每张表写数
据-保存 -关闭。代码结构如下:
Sub ReportDay()
打开日报表 ,写入数据
On Error GoTo ltnext:
Dim msexcel As Excel.Application
Set msexcel = CreateObject(Excel.Application)
filename = gProject.Path \report1\day\ Date 一期日报表 .xls
With msexcel
.Visible = False
.Workbooks.Open (filename)
.DisplayAlerts = False
End With
On Error Resume Next
i = Hour(Now) + 6
写日报表 sheet1 (粗格栅 提升泵房)
With msexcel.Worksheets(1)
.Cells(i, 2).Value = Plc1(plc1\Coarse\LET102\LEVEL).Value 1#粗格栅液位差
。。。。。。
.Cells(i, 9).Value = Plc1(plc1\Pumping\PET105\Ia).Value 5# 提升泵电流
End With
写日报表 sheet2 (细格栅 沉淀池)
With msexcel.Worksheets(2)
.Cells(i, 2).Value = Plc1(plc1\Fine\LET202\LEVEL).Value 1#细格栅液位差
。。。。。。
.Cells(i, 7).Value = Plc2(plc2\Sediment\Lt\txy1_lt).Value 污泥池液位
.
精品文档
End With
写日报表 sheet3 (1# 2# BAF池)
With msexcel.Worksheets(3)
.Cells(i, 2).Value = P
您可能关注的文档
最近下载
- 教师党员一对一谈心谈话记录.docx VIP
- F453020【复试】2024年陕西理工大学0860生物与医药《加试生物化学》考研复试仿真模拟5套卷.pdf VIP
- DB22_T 5115-2022 房屋建筑和市政基础设施工程安全管理资料标准.docx VIP
- 2025-2026学年初中艺术·美术湘美版2024七年级下册-湘美版2024教学设计合集.docx
- 2025年江西省赣州市事业单位招聘笔试题(附答案).docx
- 瓢偏度的测量 (1).pptx VIP
- 西门子6SE70变频器说明书.pdf
- 《中华商业文化》第一章 商史文化.pptx VIP
- 松下面包机SD-PT1000使用说明书.pdf
- 新解读《房屋建筑和市政基础设施工程安全管理资料标准 DB22_T 5115-2022》最新解读.docx VIP
原创力文档

文档评论(0)