我有一個包含許多工作表的大型工作簿。每個工作表都包含用戶輸入和計算的組合,並且大多數鏈接指向其他工作表上的輸入或輸出。該工作簿還包含一個包含許多自定義VBA函數的模塊。單元格值更改時自動運行VBA宏
我試圖自動goalseek位於未選中/非活動工作表上的單元格,如果用戶更改活動工作表上鍊接到另一個工作表上的計算輸入的值,我想到goalseek。示例:
「Sheet7」上的單元格A1包含一個數字,該數字是基於同一工作表的單元格A2,A3和A4中的值計算結果的「猜測」(例如,A1是名義結果A2 + A3 + A4)。單元格A2,A3和A4是三個其他工作表的計算結果的鏈接。 「Sheet7」上的單元格A5是A2 + A3 + A4的實際結果,它可能與A1中的值不匹配。單元格A6是A6中的計算結果與A1中的值之間的差異,我將A6的目標搜索值確保爲A5中的計算值始終與A1中的「硬編碼」值匹配。
我希望這個goalseek可以隨時在「Sheet7」上改變A2,A3或A4的值,即使在改變發生時沒有選擇「Sheet7」。 A2可以鏈接到「Sheet2」,A3可以鏈接到「Sheet14」,A4可以鏈接到「Sheet9」。如果用戶選擇了「Sheet2」並更改了某些改變與「Sheet7」上單元格A2鏈接的值的內容,我希望這個宏能夠運行(原因是「Sheet7」A1的值會鏈接回其他許多工作表重要的是它保持更新或整個工作簿中的整個計算鏈都會失敗)。
如果我選擇了「Sheet7」並更改了A2,A3或A4,但所有宏示例/帖子都找到了工作,但是如果我選擇了其他任何工作表並進行更改以更改鏈接值無論我嘗試過的所有代碼變體都不會運行。
我沒有很好的整體「VBA架構」的句柄,所以有人可以用可理解的術語和我需要做的或者代碼添加到模塊或工作表的某些方向提供答案, (或兩者)。
你不能去改變它只是一個公式的計算。在A2中具有'= A1',如果它改變,它將永遠不會觸發A2 ...只有用戶輸入觸發更改(或VBA本身)...因此,您需要跟蹤活動工作表並更改單元格以瞭解要對尋找... –
也...你可以在工作表中寫入'worksheetchange'(只計算該表)或在'ThisWorkbook'-模塊中爲所有工作表執行...但如前所述,只是一個不同公式的結果不會觸發它。即使在這裏有很多文本,我仍然沒有得到你真正的問題:/ –
最根本的問題是,我試圖解決循環引用問題。我提供的例子是嘗試(也許沒有成功)提供一個我想要做的事情的簡單例子。實際上它要複雜得多(也就是說,我沒有從計算中使用的其他紙張鏈接單元格A2,A3和A4,但有幾十個)。 – doubleoerik