Excel / VBA – Error1004与GoalSeek做一个周期

当我运行这个代码时,我设法填满了我想要的表格,但是在最后一次迭代中它断开了Range(“F”&r)…行并给出了错误1004。 我不明白为什么。 确实运行它的工作…但最终会产生错误。

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

你需要改变IsEmpty函数来引用一个Range而不是一个string。

 Loop Until IsEmpty(Range("E" & r)) 

另外,你应该把你的数据types改为Long 。 如果您尝试访问32768行或更高版本,则会使用Integer获得溢出错误。

关于你的1004错误…

goalseek单元格必须具有一个公式,该公式引用了您要操作的单元格。 我怀疑这将是你的错误的原因。

 Loop Until Range("E" & r)=""