2011-12-30

簡化數量計算中計算式與數量的重複

我們在利用Excel做數量計算的時候,一般都會有一欄列出計算式然後又有一欄列出數量,當然這兩個的差別只在於數量的前面加個等號,可是工程項目若是很多的話,就要一筆一筆的複製,再貼上+等號。重複的動作做多了也會覺得厭煩,況且後續若是要編修,兩邊欄位都要修正,在下就常犯了只修改一邊的錯誤,造成不是數量計算式錯誤,就是數量值不對。

再加上有時候我想在計算式中加入一定的註解,這下子複製過去,工程更大了,要把註解內容給一一刪掉,否則,儲存格就給你個#VALUE!的錯誤訊息,所以引發了我來寫個簡單的VBA來處理,只要在計算式打入計算式,剩下的由程式一次處理,至於註解,我定義以一個中括號給包覆,程式轉到數量值的字串會將其剔除,打個比方好了(以牆面1:3水泥粉光為例)
若我的計算式式:
(3.25[長]+4.2[寬])*2*3.0[牆高]-(0.9*2.1)[D2]-(1.2*1.5)[W1]
可於式中知道房間長寬高的數據及扣除D2門及W1窗以後的牆面面積
經過程式儲存丟到數值欄的內容就如下
=(3.25+4.2)*2*3.0-0.9*2.1-1.2*1.5
所有[ ]中括號的內容都剔除掉了,再加個等號
若你連續打入計算式,程式會自動跳到下列繼續處理,直到發現儲存格為空白為止
因為格式因素,目前內定計算式與數值欄是跳一格的(中間插入一個單位欄)
你可以利用快速鍵Ctrl-Shift-A來快速呼叫該程式模組。
以下是程式範例




點選起始的計算式儲存格,鍵盤按 Ctrl-Shift-A 然後程式會一直執行到 計算式儲存格為空白的儲存格為止。






有興趣的可以下載試試

5 則留言:

  1. Mark您好
    請問您是否有整理一套自己的算量工具,可否分享您的作業方式,謝謝

    回覆刪除
    回覆
    1. 因為過去我不在的估算單位服務,而是在施工單位,所需要的數量,不外是廠商計價需求或是檢核合約數量是否差異而已。
      在算量作業一般有CAD方式算量及讀圖算量,
      在CAD中過去我是寫過一個抓取面積與周長的軟體,然後將資訊寫入圖塊標籤中,然後用屬性萃取方式將數據導出成CSV檔,再讓EXCEL來利用,不過當年因為用R12時期的思維加VBA的工具,手續還真有點繁雜(若現在的想法應該是CAD點選區域後直接拋轉數據到EXCEL,至於屬性標籤與萃取應該是讓程式自動處理才對)。
      另一種看圖算量,是考量很多工程師對CAD軟體操作並不嫻熟,再加上若資料要呈報監造或業主,除了數據外,還須有計算式,才會有本文的程式方法,A工程師算地坪,B工程師算牆面...,然後將每個人的EXCEL給整合...

      刪除
  2. 好方法,省下許多時間。

    回覆刪除
  3. Mark兄, 拙著"EXCEL在建築土木上的應用", 若您有閒時, 尚請不吝指導一下, 謝謝

    回覆刪除
    回覆
    1. 您客氣了,有機會多多交流討論..^^
      以工程師的觀點來看,Excel牆大的擴展性,可以處理的事情還真不少,不過好像大部分人只利用來做打字謄表,是有點可惜。

      刪除