ワークシートに変更があったときに自動的に実行されるマクロを使用してGoalSeekメソッドを実装しようとしています。コードはシンプルですが、このエラーメッセージが表示されていますが、解決方法がわかりません。コードは、RangeクラスのGoalSeekメソッドが失敗しました
Private Sub Worksheet_Calculate()
CheckGoalSeek
End Sub
Private Sub CheckGoalSeek()
Dim wb As Workbook
Dim ws As Worksheet
Set wb = ActiveWorkbook
Set ws = wb.Sheets("MAIN")
ws.Range("N45").GoalSeek Goal:=0, ChangingCell:=ws.Range("D49")
End Sub
ここで、「N45」は式ベースのセルであり、「D49」は値です。ランタイムエラーメッセージ "RangeクラスのGoalSeekメソッドが失敗しました"が表示されます。
何か助けていただければ幸いです。
これは機能しました!しかし今、新しい問題が始まりました。 Excel CalculationオプションがAutomaticに設定されているにもかかわらず、「Calculate Now」ボタンをクリックして作業を進める必要があります。これを避けるために私が含めることができるコマンドはありますか? – Amitava
@Amitava - そのコードは自動計算を妨害すべきではありません。それは私のテストワークブックで喜んで自動的に計算していました。 (私はちょうど '= D49-1'を言っているN45の簡単な公式を持っていて、D49に新しい値を入力して遊んだのですが、マクロはD49を常に1に戻しました) – YowE3K