2016-07-13 60 views
1

每當單元格「E9」的值發生更改時,單元格E9 = Rand()都需要運行goalseek,有沒有辦法執行此操作? goalseek和單元格E9位於不同的頁面上。我在網上找到的VBA腳本如下,它不起作用。一旦我打F9,我的Excel只是繼續迭代,並給我「#NUM!」我在這裏錯過了什麼?我的goalseek與單元格E9有關。單元70是E9的一個功能。當單元格值按公式變化時,自動運行goalseek

在Sheet1中,我有:

Private Sub Worksheet_Calculate() 

Dim KeyCell As Range 
Set KeyCell = Range("E9") 

If Not Application.Intersect(KeyCell, Range("E9")) _ 
Is Nothing Then 

Backsolve 

End If 
End Sub 

在模塊1,我有:

Sub Backsolve() 

Sheets("Backsolve").Select 
Range("C70").Select 
Range("C70").GoalSeek Goal:=0, ChangingCell:=Range("C71") 
Sheets("Sheet1").Select 

End Sub 

請幫助!

+0

也許嘗試增加最大迭代https://support.office.com/en-我們/條/如何到正確-A-NUM-錯誤f5193bfc-4400-43f4-88c4-8e1dcca0428b – Slai

回答

0

可能是這將工作:

在Sheet1中:

Private Sub Worksheet_Calculate() 
    Backsolve 
End Sub 

在模塊1

Sub Backsolve()  
    Sheets("Backsolve").Range("C70").GoalSeek Goal:=0, ChangingCell:=Range("C71") 
End Sub 
相關問題