[算表] 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