【发布时间】:2020-05-12 21:23:15
【问题描述】:
对不起,首发。
我想要一个 VBA 脚本来更改单元格值,直到另一个单元格值(取决于第一个单元格)满足条件。我想我需要更新单元格,还是自动更新?
到目前为止,我已经达到了这一点:
Sub SetTime()
Dim t As Integer ' additional time in hours (integer)
Dim e As Single ' energy as float
t = 0 ' initialize
e = Range("J35").Value
While e >= 1
Range("J32").Value = t
e = Range("J35").Value
t = t + 1
Wend
End Sub
这个脚本应该做什么:
- 将单元格 J32 设置为 0
- J35 发生变化,因为单元格 J32 发生了变化
- 评估单元格 J35 是否满足条件
- 如果没有:将单元格J32的单元格值加1,转到步骤2,如果是:转到步骤5
- 完成,单元格 J32 应显示最后使用的值
它的作用:
什么都没有
【问题讨论】:
-
你永远不会修改
J35所以如果它 >=1 你现在有一个无限循环,是不是 -
要让您的代码执行任何操作,单元格 A35 必须包含 公式。 请更新您的问题以指定单元格中包含的公式A35
-
@Gary'sStudent 正确,J35 中有一个公式。公式(基本上)是这样的: J35 = H35 / I35 其中 I35 = A1 + J32 和 H35 是一个固定值所以它有点复杂。 A1 中有一个初始值,我想看看我需要等待多少小时,直到商低于 1
-
@Warcupine J35 应在 J32 更改后立即进行修改。我不知道我是否必须明确执行此操作,或者 Excel 是否会自动执行此操作。
-
根据您提供的有关公式的信息,我无法重现该问题,它对我有用。也许您将计算设置为手动?