999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

VBA編程在路基工程數量計算中的應用

2014-05-09 08:25:48鈕洪亮
交通科技 2014年1期
關鍵詞:工程設計

鈕洪亮 楊 武

(中交第二公路勘察設計研究院有限公司 武漢 430053)

在高速公路設計項目中,各種工程數量的計算與統計是項重要而又繁瑣的工作。在路基路面設計工作中,很多設計內容都是以設計通用圖紙為基礎,依據設計圖確定的單位工程數量逐段計算并統計全線的工程量,編制工程數量總表,如路基防護工程數量表、路基排水工程數量表、路面工程數量表,等等。對于這些工程數量的計算與統計,Micr osoft公司的EXCEL電子表格軟件是最適合的輔助工具,在目前的設計工作中發揮了巨大的作用。但是多數設計人員只運用了EXCEL提供的內置函數和方法,尤其以嵌套的IF語句居多。雖然可以解決一些問題,但是存在計算公式的可讀性差、檢查和復核困難、嵌套層數有限等一些問題,而且對于一個邏輯判斷較復雜的計算過程,僅通過常規的內置函數無疑增加了公式編寫的難度。因此,能夠利用EXCEL提供的VBA編程技術,編制適用于特定要求的自定義函數顯得尤為重要,其不僅可以實現復雜的計算,而且便于計算公式的修改和維護,代碼可讀性高,有利于高效率、高質量地完成各項工程數量的計算工作。本文介紹了在EXCEL中運用VBA編程實現工程數量計算與統計的方法與技巧,并以巴達高速公路兩階段施工圖設計項目中的路基防護工程數量計算為例,介紹其在實際工程中的應用效果。

1 EXCEL中VBA編程簡介

VBA是Visual Basic f or Application的簡稱,是內嵌于 Microsoft Excel中的程序語言,它的語法結構與Visual Basic極其相似,是為了更高效地使用Excel應用程序而有針對性地優化設置過的Visual Basic。VBA的主要任務是組織或集合Excel程序的功能,它無法脫離Excel環境獨立運行[1]。

EXCEL中的VBA有著豐富的類庫和組件,通過VBA編程可以實現功能強大且復雜的EXCEL擴展應用程序。而針對高速公路設計項目中的工程數量計算而言,僅需其中幾條簡單的語法即可完成幾乎所有的工程數量計算工作,下面對所需的語法歸納總結如下。

1.1 變量的聲明

語法:Di m par a m As Type

Di m是聲明局部變量的關鍵字,par a m是變量名,As Type是數據類型關鍵字,可以是As Integer(整數)或As Double(雙精度浮點數)或As String(字符串)等。

1.2 函數的定義

語法:Function f unna me(par a m As Type,……)As Type

End Function

Function是聲明一個函數的關鍵字,f unname是函數名,par am是函數所需要的形參,As Type代表各自的數據類型(同上)。

1.3 條件語句

語法:IF(condition)Then

tr ue_instr uctions

Else f alse_instr uctions

End If

IF-Then是條件判斷構造語句,condition為條件表達式,tr ue時執行tr ue_instr uctions語句,

false時執行f alse_instr uctions語句。適用于2

種或3種選擇的情況。

1.4 選擇語句

語法:Select Case testex pression

Case ex pressionlist-n

Instr uctions-n

Case Else

Def ault_instr uctions

End Select

Select Case構造用于在3個或更多的選項之間做選擇的情況,可用于替代多層IF嵌套語句。

1.5 循環語句

語法:For counter =start To end Step stepval

instr uctions

Next counter

For-Next語句是應用最多的一種簡單循環語句。counter以start為起點,以stepval為步距,到End終止循環運行。

2 自定義函數的步驟與方法

在EXCEL中運用VBA編程實現工程數量計算的主要方法就是自定義函數。用VBA編制的自定義函數與EXCEL中的內置函數(如:SUM()求和函數[2])是等價的,應用方法也是相同的。編制一個有自定義函數名和特定運算規則的VBA函數的基本步驟與方法如下。

(1)啟動VBA編程環境。選擇EXCEL應用程序(2003版)中的“工具→宏→Visual Basic編輯器”(或Alt+F11快捷鍵)打開VBA編程環境。然后在左側“工程資源管理器”(若沒有可通過點擊“視圖→工程資源管理器”開啟)窗口中右鍵單擊EXCEL文檔名稱,然后選擇“插入→模塊”菜單,創建一個模塊(默認名稱為“模塊1”,可在屬性面板中重命名)。此時右側出現一個可供輸入代碼的窗口(見圖1),完成VBA編程環境的啟動。

圖1 VBA編程環境界面

(2)編制代碼。在代碼窗口中按照VBA語法規則及用戶意圖輸入代碼。下面以路基防護數量計算中的三維網植草防護數量計算為例,說明自定義一個函數的方法,具體代碼及說明見表1。

表1 示例代碼與說明表

(3)使用自定義函數。在Excel單元格編輯器中輸入“=SWWFH($A2,$B2,$C2,D$1)”即可,$A2,$B2,$C2和D$1單元格分別為lengt h(長度),height(邊坡高度),sl ope(邊坡坡率),mat Type(材料類型)參數的輸入值。

3 工程實例解析

在實際的高速公路工程數量計算中,最為常用的語句就是條件判斷語句(IF語句),但往往因一張工程數量表中涉及到的工程類型很多,不得不采用多層嵌套的IF語句才能夠完成數量計算。這種傳統的計算方法不僅受到EXCEL應用程序本身對IF嵌套層數的限制,而且對于計算公式的復核、修改和維護都變得很困難,尤其在每種工程類型采用各自單獨的計算公式時,很容易因工程類型與計算公式不一致而導致工程數量計算結果有誤。利用EXCEL應用程序的VBA編制自定義函數,可以輕松地避免以上問題,而且對于一個具體的工程數量計算問題,經過對其計算特點的分析,合理地組織程序結構,便可得到一個邏輯嚴緊、層次清晰、易于修改維護、計算準確、應用便捷的工程數量計算表。下面以在巴中至達州高速公路兩階段施工圖設計中采用VBA編程實現的路基防護工程數量計算表為例,介紹所采用的程序結構與應用效果。

路基防護工程數量計算表中一般都會包括多種防護形式,每種防護形式都有各自的材料數量,不同防護形式可能包括相同的材料類型(如M7.5漿砌片石),為了采用統一的計算公式獲得所有防護類型的所有工程數量,設計如下程序結構:

'按防護類型計算數量

Select Case typeProj ect

Case…

Case"02-三維掛網" '掛三維網噴播植草

Quantit y =SWWF H(length,height,slope,mat-Type)

Case…

End Select

End Function

'掛三維網噴播植草工程數量

Private Function SWWF H (length…,mat Type As String)As Double

Select Case mat Type

Case"三維網" '三維網面積

SWWFH =SWWF H =area*1.0354 'm2

Case…

End Select

End Function

…… 其他防護類型工程數量計算函數

'獲取工程數量主函數

Public Function Quantity(start Stake … ,typeP-roj ect As String,mat Ty pe As String)As Double

Quantity()函數為數量計算的主函數,也是在EXCEL表格中調用的唯一函數,采用公有(Public)屬性,其他函數(如SWWFH())在 EXCEL表格中不需要調用,只被Quantity()主函數引用,采用私有(Private)屬性。Quantity()主函數除了基本的起點樁號、終點樁號、邊坡高度、邊坡坡率等參數外,另外還包括了typePr oject防護形式和mat Type材料類型2個參數,通過2次Select Case條件選擇獲得某種防護形式中的某種材料的數量。在EXCEL表格所有的工程數量單元格中調用Quantity()函數,利用單元格數據的有效性及鎖定功能,即可得到應用便捷的路基防護工程數量計算表,見圖2。

圖2 利用VBA編程實現的路基防護工程數量表

4 結論

通過在巴中至達州高速公路設計項目中對利用VBA編程實現路基防護工程數量計算的實際應用,得出如下結論:

(1)利用EXCEL應用程序中的VBA編程功能,可以有效地避免采用多層嵌套IF語句所帶來的不便,有利于提高工作效率和計算的準確性。

(2)利用EXCEL應用程序中的VBA編程功能,可以實現統一的計算函數,避免了一個EXCEL表中因包含多個計算公式而帶來的混淆計算錯誤問題。

(3)利用EXCEL應用程序中的VBA編程功能,可以將所有的計算代碼集中在一起,利用Select Case語句代替IF語句,使代碼的層次更加清晰,可讀性高,便于公式的復核、修改和維護。

(4)結合EXCEL應用程序中的單元格數據有效性、鎖定和表格保護等功能,能夠實現類似程序輸入界面的計算表格,使數據輸入區與計算結果區完全分開,有效地避免了對計算公式的無意修改,同時參數輸入集中,操作便捷。

(5)能夠適用于高速公路設計項目中所有的工程數量計算,涉及到的VBA語法少而簡單,便于推廣應用。

[1] John Walkenbach.Excel 2003高級 VBA編程寶典[M].北京:電子工業出版社,2005.

[2] John Walkenbach.Excel 2002公式與函數應用寶典[M].北京:電子工業出版社,2002.

猜你喜歡
工程設計
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
子午工程
太空探索(2016年6期)2016-07-10 12:09:06
工程
工程
工程
工程
主站蜘蛛池模板: 亚洲va在线观看| 国产啪在线91| 人妻丝袜无码视频| 伊人五月丁香综合AⅤ| 国产精品爆乳99久久| 伊人激情久久综合中文字幕| 亚洲视频影院| 色综合天天娱乐综合网| 国产成人免费观看在线视频| 99热这里只有精品2| 国产精品一区不卡| 中文字幕 91| 狠狠亚洲五月天| 91人人妻人人做人人爽男同| 国产精品浪潮Av| 国产精品一老牛影视频| 欧洲亚洲一区| 日韩无码真实干出血视频| 2020精品极品国产色在线观看| 55夜色66夜色国产精品视频| 中文字幕一区二区人妻电影| 亚洲小视频网站| 九九这里只有精品视频| 狠狠色成人综合首页| 99久久精品免费看国产电影| 精品欧美视频| 蜜桃视频一区二区| 国内精品久久久久久久久久影视| 免费在线不卡视频| 亚洲欧美一区二区三区图片| 强奷白丝美女在线观看| 最新国语自产精品视频在| 欧美日韩另类在线| 五月天丁香婷婷综合久久| 欧美激情二区三区| 六月婷婷综合| 欧洲av毛片| 国产高清又黄又嫩的免费视频网站| 国产福利免费视频| 丁香婷婷在线视频| 激情成人综合网| 亚洲人网站| 亚洲天堂色色人体| 国产黑丝视频在线观看| 精品伊人久久久香线蕉| 亚洲一区二区三区国产精华液| 第一区免费在线观看| 成人看片欧美一区二区| 欧美成人二区| 无码日韩视频| 成年人免费国产视频| 日韩精品无码免费专网站| 亚洲系列无码专区偷窥无码| 亚洲最黄视频| 亚洲侵犯无码网址在线观看| 朝桐光一区二区| 日韩色图区| 热99精品视频| 免费a级毛片18以上观看精品| 成人一区在线| 欧美精品一区二区三区中文字幕| 久久这里只有精品2| 国产农村精品一级毛片视频| 免费国产在线精品一区| 亚洲综合二区| 一区二区三区成人| 91在线播放免费不卡无毒| 久久人妻xunleige无码| 国产视频 第一页| 亚洲性网站| 成人在线综合| 午夜少妇精品视频小电影| 毛片久久久| 啪啪国产视频| 欧美日韩福利| 色综合色国产热无码一| 国产成人a毛片在线| 久久精品无码专区免费| 92午夜福利影院一区二区三区| 国产精品美女网站| a级高清毛片| 97超爽成人免费视频在线播放|