作者andy4624 (Endless Fighting)
看板Office
標題[算表] Visual Basic迴圈
時間Wed Nov 16 10:06:03 2022
軟體: excel
版本: office 365
想要寫迴圈公式,算出各業務獎金
A B C D E
1 業務名 老大 老二 老三 老四
2 營業額 150 250 50 350
3 業務獎金比例: 6% 7% 5% 8%
4 業務獎金 9 17.5 2.5 28
因為營業額不同,所以會產生不同的業務狀金比例
之前是用 If的公式寫
現在試著用visual basic裡的 select case 來判斷
if case >300 業務獎金=營額業*0.08
if case >200 業務獎金=營業額*0.07
if case >100 業務獎金=營業額*0.06
if case >0 業務獎金=營業額*0.05
然後想要利用for來讓計算的儲存格往右移
想問的問題:
1、如何用 for 的迴圈讓計算的儲存格往右移?以上表來看就是從原本計算 B4移到 C4
因為 for i=1 to 4是不是只能讓儲存格往下移?
2、計算我只會寫 Range("B4").value = range("B2").value*0.01
但是 B4 及 B2 在 下一個計算時應該是變更為 C4 及 C2
請問這個儲存格是可改變的嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.137.131 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1668564365.A.F6B.html
1F:推 ljuber: 用offset ? 11/16 11:09
2F:→ andy4624: offset之後 怎麼寫要計算的儲存格? 11/16 12:09
3F:→ andy4624: 抱歉我是新手 所以問題可能很基本 請再給指教 11/16 12:09
4F:推 ljuber: range("b4").offset(,i-1_) 11/16 14:21
5F:→ suaveness: Cells 在這個例子可能會比 Range 適合 11/16 14:47
6F:→ waiter337: Sub test() 11/17 07:54
7F:→ waiter337: For i = 1 To 4 11/17 07:54
8F:→ waiter337: Select Case Cells(2, i) 11/17 07:54
9F:→ waiter337: Case Is > 300: x = 0.08 11/17 07:55
10F:→ waiter337: Case Is > 200: x = 0.07 11/17 07:55
11F:→ waiter337: Case Is > 100: x = 0.06 11/17 07:55
12F:→ waiter337: Case Is > 0: x = 0.05 11/17 07:55
13F:→ waiter337: End Select 11/17 07:55
14F:→ waiter337: Cells(4, i) = Cells(2, i) * x 11/17 07:55
15F:→ waiter337: Next 11/17 07:55
16F:→ waiter337: End Sub 11/17 07:55
17F:→ andy4624: 謝謝樓上大大 11/17 10:03