土工试验资料整理中利用VBA解决数据批量“输入”的方案

2022-03-04 23:24张永辉张艳艳
科技资讯 2022年2期
关键词:输入

张永辉 张艳艳

摘要:土工试验中,由多个不同的试验项目会生产大批量数据,包括原始数据及报告资料。整理数据时涉及大量的输入、校对工作,会耗费大量的人力、精力和时间,成为限制提交报告等资料的环节及制约工作效率的瓶颈。为解决这一问题,利用Excel VBA开发程序,仿照人工先见样号再输入的同理,寻找、穿插同项试验数据到土工试验资料及报告总表中,可免去人工校对之苦,提高生产效率。

关键词:土工试验    Excel VBA    电子数据批量输入

中图分类号: P209文献标识码:A   文章编号:1672-3791(2021)01(b)-0000-00

The Scheme of Using VBA to Solve the Batch "Input" of Data in the Sorting of Geotechnical Test Data

ZHANG Yonghui1  ZHANG Yanyan2

(1.Hebei Hydrological Engineering Geological Survey Institute, Shijiazhuang, Hebei Province, 050021 China; 2.Housing and Urban-Rural Development Bureau of Gaocheng District, Shijiazhuang City, Shijiazhuang, Hebei Province, 052160 China)

Abstract: In the geotechnical test, large numbers of data, including raw data and reports, are produced by several different test items. Data sorting involves a lot of input and proofreading, which consumes a lot of manpower, energy and time, and becomes a phase that limits the submission of reports and other materials or a bottleneck that restricts work efficiency. In order to solve this problem, Excel VBA development program is used to find and insert the same test data into the general table of geotechnical test data and report, which can avoid the pain of manual proofreading and improve production efficiency.

Key Words: Geotechnical test; Excel VBA; Electronic data; Batch input

在土工试验报告整理中,包括常规、粘粒分析、三轴(UU、CU)、直接剪切、渗透、湿陷等多项试验数据,这些单项试验在各自数据处理后,往往都是采用人工输入的方法,先输入再让人校对,工作量之大可想而知,即浪费大量的人力,又容易出错。现在各试验多采用计算机生成电子版结果,笔者在工作中利用Excel VBA程序将生成的电子版数据通过查找、替换相同样号后数据,以完成数据的修改即输入问题[1-3]。

1用Excel VBA开发程序的重要性

Excel VBA是一门强化及改造Excel的程序语言,利用VBA可以完成两大类任务:解决自己的工作问题及开发通用软件,如果非仅仅处理个人面临的工作问题,而是编程适用群体需求,则更为重要。笔者利用Excel VBA编写的程序还可作为通用程序,延伸到其他工作、領域及日常生活中完成数据输入问题。

2 Excel VBA运行环境

将VBA宏安全性设置为中或低(在安装了防病毒软件或检查了所有要打开的文档安全性时),以便创建运行环境,正常启动VBA程序[3-5]。

3 用Excel VBA开发程序批量输入电子数据

用VBA编写程序及应用的步骤为:首先新建Excel工作簿,改名为“数据读取程序”,将Sheet1重命名为“各试验项源数据”|,将Sheet2重命名为“检查同号并读取”,从工具栏中调出“控制工具箱”,在“各试验项源数据”工作表中添加“Command Button1”,双击进入VBA编辑器界面,则自动打开“工程资源管理器窗口”中的“Sheet1(各试验项源数据)”,在代码编辑区输入编写的以下批量读取电子数据代码(输入主程序,首尾语句已自动生成):

Private Sub CommandButton1_Click()

Dim n As Integer, i As Integer, j As Integer, m As Integer, k As Integer

Dim num As Integer, x As Integer

n = Sheet1.Range("B65536").End(xlUp).Row '-----原始表格的范围

m = Sheet2.Range("B65536").End(xlUp).Row '-----对比表格的范围

x = 1

For i = 2 To n

For j = 2 To m

If Sheet2.Cells(j, 2) = Sheet1.Cells(i, 2) Then

For k = 3 To 100

If Sheet2.Cells(j, k) <> Sheet1.Cells(i, k) Then

Sheet2.Cells(j, k).Interior.ColorIndex = 3

Sheet2.Cells(j, k) = Sheet1.Cells(i, k)

End If

Next k

End If

Next j

Next i

For j = 2 To m

num = 0

For i = 2 To n

If Sheet2.Cells(j, 2) = Sheet1.Cells(i, 2) Then

num = num + 1

End If

Next i

If num = 0 Then

Sheet1.Cells(1, x) = Sheet2.Cells(j, 2)

x = x + 1

End If

Next j

End Sub

打开VBA编辑器界面的属性窗口,将“CommandButton1”caption标题改为“读取数据”且根据实际情况和个人爱好更改命令按鈕大小、颜色、字体。

在工作表“各试验项源数据”中,将各单项试验土样编号及电子结果粘贴到以B2为起始的区域;将土工试验总体报告的实验室编号粘贴到工作表“检查同号并读取”中以B2为起始的该列。点击“读取数据”按钮,则自动查找穿插单项结果到工作表“检查同号并读取”中,顺序为报告土样编号顺序。

这个程序还有两个亮点:一是工作表“各试验项源数据”中首行会显示另一工作表多余的土样编号;二是在工作表“检查同号并读取”中可以将数据加底色红色,以便作样品数据检查时看是否数据修改过。

该程序可将其存为模板,将VBA程序加密码锁定,将模板改为只读格式。如果已经点击了命令按钮发现问题需重新处理可将工作表“检查同号并读取”中读取的数据删除处理后再运行命令[6-9]。

图1,图2为Excel工作簿和VBA程序编辑界面:

在试验工作中运用此程序有效地解决了输入、校对繁重的工作量问题,提高了工作效率,防止报告出错,点击命令按钮,做到了一蹴而就,多快好省。

4用Excel VBA开发程序批量输入电子数据作为通用软件的意义

笔者利用Excel VBA不但可以解决土工试验工作中的数据输入问题,而且可以作为通用程序,完成其他工作中的数据输入问题,只要是工作表“各试验项源数据”中B列中有和工作表“检查同号并读取”中B列有相同的内容(包括如人名类的文本、数据类的数字编号),运行程序就可以按照工作表“检查同号并读取”中B列的顺序替换后面列中的内容,从而完成数据输入。利用该程序,有助于工作的开展,提高效率,有效避免数据出错,对于电子数据的“输入”具有重要的意义。

参考文献

[1]  罗刚君.Excel VBA程序开发自学宝典[M].4版.北京:电子工业出版社,2021.

[2]  本书编委会.土工试验方法标准:GB/T 50123-2019[S].北京:中国计划出版社,2019.

[3]  务新超.土力学[M].3版.河南:黄河水利出版社,2018.

[4]  张岩艳,严晨.活用Excel VBA让你的工作化繁为简[M].北京:机械工业出版社,2016.

[5]  陈琼霞.岩土工程勘察土工试验中的质量与管理策略[J].科技风,2017(8):151.

[6]  袁波.岩土工程勘察土工试验中的常见问题及改善方法[J].低碳世界,2017(26):39-40

[7]  马雪.岩土工程勘察土工试验中的常见问题及措施[J].江西建材,2021(10):110-111.

[8]  肖乾.岩土工程勘察质量控制与评价方法研究[D].合肥:安徽建筑大学,2020.

[9]  李禄维.岩土工程勘察地下空间信息管理系统设计与实现[D].北京:中国地质大学(北京),2019.

猜你喜欢
输入
浅议习得理论下初中英语教学的策略调整
高中英语阅读与写作有效结合