橢圓形油槽油位濾訂
因為工作上需求,需要將橢圓形油槽將等間距的油位與容量相對關係呈現出來,所以就寫了一個簡單的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
設定。
xxxxxxxxxx
31If n = 0 Then
2 Range("A" & sheet_name & "").Value = 0
3 Range("B" & sheet_name & "").Value = 0
假如n=0
時,則分別在A9
、B9
填入0,其中sheet_name
先設定自己想要的列數,我設定的起始值為9。
xxxxxxxxxx
91Else
2 Range("D4") = n
3 Range("A" & sheet_name & "") = n
4 Range("d5").Copy
5 Cells(sheet_name, 2).Select
6 Selection.PasteSpecial Paste:=xlPasteValues
7 End If
8 sheet_name = sheet_name + 1
9Next
如果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+
之後。
沒有留言:
張貼留言