首页 省内新闻 外埠新闻 行业介绍 业务信息  水文测验  简报公报 水文文学 水文人物 水文法律法规 下载
当前位置: 首页 >> 水文科技动态 >> 水文技术 >> 正文

综合制表巧录入

来源: 文章作者:张海龙 录入时间:08-01-24 13:06:13

  每年汛期一过就开始忙碌着进行资料整编。虽说已经有了水文整编软件,但需要按照一定的格式对原始数据进行录入。特别是在录入ZBYS下实测流量、逐日蒸发量、逐日气温、逐日风速等成果数据时你感到烦琐了吗?

  我个人觉得录入的工作量大且效率低下。这是因为在整编程序中生成的制表成果(ZBCG)不会计算月年统计,完全需要人工录入。录入时又极易发生纯粹的数据录入错误或数据没有按照特定的格式录入错误。这就要求我们不断的对资料及数据进行一遍又一遍的校核。一来二去至少要每人校三遍,第一遍是对原始资料的校核;第二遍是对录入计算机的数据和生成的成果表进行校核;第三遍是对校核中发现错误改正后生成的成果表进行校核。如果校核后还有错误,那只能说明平时没有仔细工作,再加上资料要一作两校,在整编成果出来时,最少也要检查九遍。当然这还没有算直属局汇审和省局汇审。如果你也有同感的话,那为什么不用EXCEL来帮助我们减少工作量和提高工作效率呢?

  相信大家都知道EXCEL是功能强大的电子表格处理软件,它与文本处理软件的差别在于它能够运算复杂的公式,并且有条理的显示结果。它的特殊性在于其中的单元格之间有着密切的联系,当一个单元格内的数据发生变动时,就有可能直接影响到其它单元格内的数据,也就是说,电子表格是一个动态表格。

  我们该如何在EXCEL中去做呢。首先把需要制表的基本数据在EXCEL表内相应的单元格中录入(见图一)。为了使生成的成果表有统一的样式,利用VBA编写一段小程序,把EXCEL中计算出来的数值生成整编程序要求的格式,并保存成ZBYS下需要保存的成果数据文件(见图三)。

  图一:

  

  

  图二:

  

  

  图三:

  

  

  (在图一中录入完数据后点“导入成果表”按钮,就生成了图二,在图二中点“生成整编原始数据”按钮,就会生成我们需要的数据文件(见图三)。下面是生成整编原始数据文件的一小段程序。

  Sub sczbysE() '生成制表原始E-601

  Dim filename As String

  cl1$ = Chr$(13) + Chr$(10)

  msg1$ = "请在c:\SWZB\ZBYS\后输入文件名:"

  msg2$ = "文件名由测站编码+年份+.eag组成"

  msg5$ = "例如:321026002005.eag"

  msg3$ = "输入后按回车键或单击“确定”按钮"

  msg4$ = msg1$ + cl1$ + msg2$ + cl1$ + msg5$ + cl1$ + msg3$

  filename = InputBox$(msg4$, "文件名输入框", "c:\SWZB\ZBYS\")

  Open filename For Output As #1

  zz = "1,k,"

  gg = "陆上水面蒸发场,5月至10月E601型蒸发器其余时间半深E601型蒸发器,"

  Print #1, zz

  Print #1, gg

  Dim blx1, blx2, blx3, blx, cl

  cl = vbCrLf

  blx1 = ""

  blx2 = ""

  blx3 = ""

  For q = 3 To 14

  For i = 7 To 16

  blx1 = blx1 &Sheet5.Cells(i, q) &","

  Next i

  ............

  End Sub)

  这样的话,我们每次只要把原始数据输入,它就会自己计算出生成成果表的基本数据。检查输入的原始数据无误后,启动程序,计算出来的参加制表的基本数据就导入了制表文件中。它的第一个优点是只要输入的原始数据正确无误,那么导入在制表文件中也是不会错的。第二个优点是即使是原始数据在EXCEL中输入时出现了错误,我们只要把错误的地方改过来,所有与它有关联的数据都可以自己改正过来。再运行程序,就可以生成正确的数据文件,这样也能避免人工改正时顾此失彼。

  我们平时所做的一些水文工作,如流量、蒸发量、气温等计算都可以用这个模式在EXCEL表格中进

9 7 3 1 2 4 8 :
责任编辑:admin
主办单位: 河北省水文水资源勘测局 地址:石家庄市建华南大街85号
电话:0311-85696505  E-MAIL:sjzlqw@163.com
Copyright @ 2002-2005 HBSW.NET,All Rights Reserved