收藏 分享(赏)

VBA报表代码精简总结.doc

上传人:HR专家 文档编号:11261421 上传时间:2020-03-05 格式:DOC 页数:2 大小:15.71KB
下载 相关 举报
VBA报表代码精简总结.doc_第1页
第1页 / 共2页
VBA报表代码精简总结.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、VBA报表代码精简总结VBA 使用在报表输出的时候,通常结合 excel 进行报表输出,其功能非常强大。但是大家对报表经常复制前人的结果,稍作修改即可使用。虽说“条条大路通罗马” ,现在本人遵循“同样的功能越简单越不容易出错”的原则做出以下改进:1-模板精简:在日常的报表编写过程中通产刚才用多张表格模板,例如:提升泵报表,细格栅和沉砂池报表,氧化沟报表,滤池池报表,进水处水质报表,月报表,年报表。 。 。 。缺点:生成模板时使用 VBA 写报表时,需要一张一张打开,写入数据,一张一张保存和关闭,需要些多个类似的 VBA 子程序,比较繁琐,容易出错,效率不高。改进:将以上各个工艺段的报表整合在一

2、张工作薄里面,每个工艺段为一张表,写日报表时只进行一次打开和关闭工作。2生成日报表的精简传统方法采用:打开模板-另存为-重命名文件。缺点:反复寻找模板文件,进行打开-另存为-关闭的动作,效率低,代码复杂,容易出错。改进:使用 filecopy 函数,直接将模板复制到指定地方,顺便将文件名修改了。3-写报表精简:有了第一步的工作,这一步就自然水到渠成了。写日报表时:打开今日报表-对每张表写数据-保存-关闭。代码结构如下:Sub ReportDay()打开日报表,写入数据On Error GoTo ltnext:Dim msexcel As Excel.ApplicationSet msexcel

3、 = CreateObject(“Excel.Application“)filename = gProject.Path & “report1day“ & Date & “ 一期日报表.xls“With msexcel.Visible = False.Workbooks.Open (filename).DisplayAlerts = FalseEnd WithOn Error Resume Nexti = Hour(Now) + 6写日报表 sheet1(粗格栅 提升泵房)With msexcel.Worksheets(1).Cells(i, 2).Value = Plc1(“plc1Coar

4、seLET102LEVEL“).Value 1#粗格栅液位差。 。 。 。 。 。.Cells(i, 9).Value = Plc1(“plc1PumpingPET105Ia“).Value 5#提升泵电流End With写日报表 sheet2(细格栅 沉淀池)With msexcel.Worksheets(2).Cells(i, 2).Value = Plc1(“plc1FineLET202LEVEL“).Value 1#细格栅液位差。 。 。 。 。 。.Cells(i, 7).Value = Plc2(“plc2SedimentLttxy1_lt“).Value 污泥池液位End Wit

5、h写日报表 sheet3(1# 2# BAF 池)With msexcel.Worksheets(3).Cells(i, 2).Value = Plc2(“plc2Tank_N1Ptlevel“).Value N2 池池底压力。 。 。 。 。 。.Cells(i, 13).Value = Plc2(“plc2Tank_N2Blower02Ia“).Value 二级风机电流End With写日报表 sheet4(3# 4# BAF 池)With msexcel.Worksheets(4).Cells(i, 2).Value = Plc2(“plc2Tank_N3Ptlevel“).Value

6、N2 池池底压力。 。 。 。 。 。.Cells(i, 13).Value = Plc2(“plc2Tank_N4Blower04Ia“).Value 二级风机电流End With写日报表 sheet5(反冲洗)With msexcel.Worksheets(5).Cells(i, 2).Value = Plc2(“plc2Ltwsch_lt“).Value 回用水池液位。 。 。 。 。 。.Cells(i, 11).Value = Plc2(“plc2ReturnPump01Ia“).Value 3#回用泵电流End With写日报表 sheet6(进出水水质)With msexcel.

7、Worksheets(6).Cells(i, 2).Value = Plc2(“plc2SedimentLttxy2_lt“).Value 瞬时流量。 。 。 。 。 。.Cells(i, 10).Value = Plc2(“plc2nhnh“).Value 氨氮End WithWith msexcel.ActiveWorkbook.Save.ActiveWorkbook.Close.QuitEnd WithPlc1.ScanOffPlc2.ScanOffltnext:Set msexcel = NothingShell “taskkill /f /im excel.exe“End Sub这样,代码比较简介,不易出错执行效率也很高。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 工作总结

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报