2015年3月19日 星期四

鋼筋計算的輔助自訂函數

  工程實務在計算鋼筋的重量問題上通常是要把設計圖上的配筋,按鋼筋大小尺寸(即稱為號數)分類,並求得各號數鋼筋的總長度,接著乘上各對應的每單位米公斤重(kg / m ) 後,可算出鋼筋的需求重量以供使用.
  在EXCEL的程式長度的計算可用Sum函數處理,但各單位米重如不憑記憶Key-In ,就得查詢後再Key-In ,前者有記憶錯誤的風險;而後者則降低計算速度!
  何況大多數的操作都會有修改的情況發生,因此若能以程式設計的手法改善,不但可增加計算的準確度同時也可提高計算的速度.

對策有:

1.以”複製-貼上”方法操作-----只適合Excel初學者,其他不建議.

2.Excel 內建函數方法:

  • 先作一資料工作表,將各鋼筋號數及其對應的單位米公斤重資料建立以供後續操作使用  
  • 在要在查詢的儲存格中寫入Vlookup;Hlookup函數,例如:=HLOOKUP(C2,首頁!$D$1:$L$3,3,0),其中 C2 為鋼筋號數值,而首頁工作表的D1:L3的區域及上述資料來源
  • 利用自動填滿功能便可讓同欄的儲存格得相同的函數而查得對應資料
基本資料工作表
使用Excel內建函數操作結果



3.Excel 自訂函數方法:
  • 利用VBA 撰寫自訂函數,程式碼如下:
Function Rwpm(ByVal Rn As Integer) As Single
'本函數為鋼筋號數對應的單位米公斤重
Dim i As Integer
  i = Rn - 2
Rwpm = Choose(i, "0.56", "0.994", "1.56", "2.25", "3.04", "3.98", "5.08", "6.39", "7.9")
End Function
VBA程式碼


使用VBA自訂函數操作結果


討論:

   方法2可算不錯的方法,但若檔案複製再用後會出現資料連結更新的問題,且在使用上得注意參照格位須一再確定正確,否則將參照得不正確的資料而自己還不知的風險產生!


   方法3則是使用者須要有VBA的功力,門檻較高,且須複製自訂函數程式碼或同時開啓有該程式的檔案,方有其功能.不過其優點則是,使用靈活度高,且不用另外將資料來源另存在工作表中.

至於要用何種方法則看個人習慣了!

擴充運用:
 
鋼筋計算中常要考慮的”搭接長度”,及”彎鉤長度”同樣可仿照上述方法處理用2或3的方法處理!(VBA 程式碼參見上圖)





沒有留言:

張貼留言