搜尋此網誌

2018年9月25日 星期二

[VBA]橢圓形油槽油位濾訂

橢圓形油槽油位濾訂

橢圓形油槽油位濾訂

因為工作上需求,需要將橢圓形油槽將等間距的油位與容量相對關係呈現出來,所以就寫了一個簡單的excel表如下。

分別填入D2~D4之值即可得油位-容量。一般來說都會把公式直接寫入在B9然後A9輸入油位作為變數往下拉即可。但因為公式已經寫好了懶得重新調整位置,所以透過VBA的for迴圈來達到同樣的效果。

簡單來說就是將每個油位分別代入已經寫好公式位置(D4),計算後複製值到排列的位置即可,這種純手工的工作最適合寫程式來處理。


設定油位為n開始值為0,做一個do迴圈從0~最高點即油槽直徑oil_d,每次油位的增加值設為s1a2設定。

假如n=0時,則分別在A9B9填入0,其中sheet_name先設定自己想要的列數,我設定的起始值為9。

如果n>0,則D4代入n值,並且在A9同樣填入n值。接著複製D5,然後選擇cell(sheet_name,2)1並貼上值即完成。每做一次迴圈sheet_name就要+1才能讓每個油位都呈現出來,而做法就是在迴圈裡面塞入增加值sheet_name = sheet_name + 1;由於sheet_name起始值為9,對應n值為0,而0值時透過if固定A9、B9為0,待n>0時,sheet_name=9+迴圈次數2,則依序列出在……A10+B10+之後。

 


1 cells(行,列)=Range(行列)=Range(英文+數字)
2 增加的值可自行決定,不一定為整數。可以為sheet_name = sheet_name + 1sheet_name = sheet_name + 0.1,但該列控制EXCEL列數,故僅整數才能有效執行。

沒有留言:

張貼留言