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

分別填入D2~D4之值即可得油位-容量。一般來說都會把公式直接寫入在B9然後A9輸入油位作為變數往下拉即可。但因為公式已經寫好了懶得重新調整位置,所以透過VBA的for迴圈來達到同樣的效果。
簡單來說就是將每個油位分別代入已經寫好公式位置(D4),計算後複製值到排列的位置即可,這種純手工的工作最適合寫程式來處理。
1For n = n To oil_d + s1 Step s1設定油位為n開始值為0,做一個do迴圈從0~最高點即油槽直徑oil_d,每次油位的增加值設為s1由a2設定。
xxxxxxxxxx31If n = 0 Then2 Range("A" & sheet_name & "").Value = 03 Range("B" & sheet_name & "").Value = 0假如n=0時,則分別在A9、B9填入0,其中sheet_name先設定自己想要的列數,我設定的起始值為9。
xxxxxxxxxx91Else2 Range("D4") = n3 Range("A" & sheet_name & "") = n4 Range("d5").Copy5 Cells(sheet_name, 2).Select6 Selection.PasteSpecial Paste:=xlPasteValues7 End If8 sheet_name = sheet_name + 19Next如果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+之後。
沒有留言:
張貼留言