当我运行这段代码时,我设法填写我想要的表格,但是在最后一次迭代中,它在Range(“F”& r)...行上打破并给出error1004。我不明白为什么。确实运行它有效......但最后会产生错误。
Sub Stuff1()
Dim r As Integer
r = 37
Do
Range("F" & r).GoalSeek Goal:=0, ChangingCell:=Range("D" & r)
r = r + 1
Loop Until IsEmpty("E" & r)
End Sub
注意:我尝试过Do While Not,它的发生完全相同。 编辑:Excel 2013 btw
答案 0 :(得分:2)
您需要更改IsEmpty
函数以引用Range
,而不是当前正在执行的字符串。
Loop Until IsEmpty(Range("E" & r))
此外,您应将r
的数据类型更改为Long
。如果您尝试访问32768行或更高版本,则会使用Integer
获得溢出错误。
关于你的1004错误......
goalseek单元格必须具有引用您要操作的单元格的公式。我怀疑这是你错误的原因。
答案 1 :(得分:1)
Loop Until Range("E" & r)=""