本帖最后由 zzufish 于 2023-6-6 06:16 编辑
桥梁工程检测是工程领域的常见业务,基本流程是制定方案→现场检测→数据处理→报告编写,其中Excel和Word是常用的工具。报告编写中存在很多重复的操作,占了大部分的时间,这里尝试用VBA的方法,提高报告编写效率。 (1)编写依据:《公路桥梁技术状况评定标准》(JTG/T H21-2011) (2)评分流程:构件评分→部件评分→结构评分→整桥评分,对应4张表格 (3)关键代码:构件评分,获取病害扣分值、按扣分值从大到小排序、计算各类病害扣分、计算构件扣分
- Private Sub CommandButton1_Click() '桥面铺装
- '排序 2003版代码如下
- Range("B4:E7").Select
- Selection.Sort Key1:=Range("D4"), Order1:=xlDescending, Header:=xlGuess, _
- OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
- :=xlPinYin, DataOption1:=xlSortNormal
-
- Dim i As Integer
- Dim DP(4) As Integer
- Dim U(4), a, PMCI As Double
- '计算病害数
- For i = 1 To 4
- DP(i) = Cells(i + 3, 4)
- Next i
- U(1) = DP(1)
- U(2) = DP(2) * (100 - U(1)) / (100 * 2 ^ 0.5)
- U(3) = DP(3) * (100 - U(1) - U(2)) / (100 * 3 ^ 0.5)
- U(4) = DP(4) * (100 - U(1) - U(2) - U(3)) / (100 * 4 ^ 0.5)
- a = 0
- For i = 1 To 4
- a = a + U(i)
- Cells(i + 3, 5) = U(i)
- Next i
- PMCI = 100 - a
- Cells(4, 6) = PMCI
- End Sub
复制代码
工程领域有大量类似的内业数据处理工作,需要编程技术人员和工程技术人员合作完成,这里以一个简单的案例进行探索,后续经不断分享更多的尝试,希望编程高手参与、指导!
|