2013-11-09 59 views
0

當我運行這段代碼時,我設法填滿了我想要的表格,但是在最後一次迭代中,它在Range(「F」& r)上斷開...... line並給出error1004。我不明白爲什麼。確實運行它的工作...但最終會產生錯誤。Excel/VBA - Error1004與GoalSeek做一個循環

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

回答

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

您需要更改IsEmpty函數引用一個Range不是一個字符串,因爲它是目前做..

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

此外,你應該改變你的數據rLong的類型。如果您嘗試訪問第32768行或更高版本,則會使用Integer發生溢出錯誤。

關於你提到的1004錯誤...

的goalseek細胞必須有一個公式引用要處理的單元格。我懷疑這將是你錯誤的原因。