vba报表代码精简总结.pdfVIP

  • 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

文档评论(0)

1亿VIP精品文档

相关文档