作者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/cn.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