[算表] Visual Basic迴圈

作者: andy4624 (找工作)   2022-11-16 10:06:03
軟體: 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
請問這個儲存格是可改變的嗎?
作者: ljuber (美少婦與女兒同學的故事)   2022-11-16 11:09:00
用offset ?
作者: andy4624 (找工作)   2022-11-16 12:09:00
offset之後 怎麼寫要計算的儲存格?抱歉我是新手 所以問題可能很基本 請再給指教
作者: ljuber (美少婦與女兒同學的故事)   2022-11-16 14:21:00
range("b4").offset(,i-1_)
作者: suaveness (靜夏)   2022-11-16 14:47:00
Cells 在這個例子可能會比 Range 適合
作者: waiter337 (給開司一罐蘇格登)   2022-11-17 07:54:00
Sub test()For i = 1 To 4Select Case Cells(2, i)Case Is > 300: x = 0.08Case Is > 200: x = 0.07Case Is > 100: x = 0.06Case Is > 0: x = 0.05End SelectCells(4, i) = Cells(2, i) * xNextEnd Sub
作者: andy4624 (找工作)   2022-11-17 10:03:00
謝謝樓上大大

Links booklink

Contact Us: admin [ a t ] ucptt.com