2015-08-29 100 views
1

任何人都可以幫助我理解爲什麼第一個子作品可以工作,但第二個作品卻提供了無效的參考?在Excel VBA模塊中使用GoalSeek功能

Sub tester1() 

    Range("Q5").GoalSeek goal:=2000000, changingcell:=Range("P5") 

End Sub 


Sub tester3() 
    Dim rngRow As Range 
    For Each rngRow In Range("P5").Rows 
     rngRow.Cells(0, 1).GoalSeek goal:=2000000, changingcell:=rngRow.Cells(0, 0) 
    Next rngRow 
End Sub 

在此先感謝。

回答

1

Cells(0, 1)Cells(0, 0)是無效的 - 行和列應大於0

Range("A1") = Cells(1, 1) 'Cells(row, col) 
Range("A2") = Cells(2, 1) 
Range("B1") = Cells(1, 2) 
Range("B2") = Cells(2, 2) 

測試這一點:

Sub tester3() 

    Dim cel As Range 

    For Each cel In Range("Q5:Q10") 

     cel.GoalSeek Goal:=2000000, ChangingCell:=cel.Offset(0, -1) 

    Next rngRow 

End Sub 
+0

啊。我在想Offset和打字Cell。謝謝。 – mchac

+0

偏移可能會引起混淆:'Range(「B2」)。Offset(-1,-1)'是'Range(「A1」)' –

+0

謝謝。使用正確的單元格引用仍然返回無效的引用:rngRow.Cells(5,17).GoalSeek目標:= 2000000,changingcell:= rngRow.Cells(5,16)。單元格(5,17)是一個公式,單元格(5,16)是一個值。 – mchac