1

次のコードのようにMS Excelでゴールシークを使用する方法があります。それは正常に動作します。

   Sub GSeek() 
      With Worksheets("Sheet1") 
             .Range("H18").GoalSeek _  
              Goal:=.Range("H21").Value, _ 
               ChangingCell:=.Range("G18")
     End With 
   End Sub

そして、次のようなゴールシークを行う関数を使用したいと思います。

  Function fSeek(a As Range, b As Range, c As Range)
     a.GoalSeek Goal:=b.Value, ChangingCell:=c
     fSeek = "Ok"
   End Function

ただし、コードは問題なく動作し、c の範囲では応答が得られませんでした。どこが間違っていますか?

4

2 に答える 2

1

私に答えてくれてありがとう。久しぶりにここで質問を見つけました。イベントを使用して、たまたまこの質問の解決策を見つけました。

Microsoft Excel Object-Sheet1(Sheet1) では、次のコードしか記述できません。

 '----------------------------------------------
 ' Goal seeking when the worksheet changes.
 '----------------------------------------------
 ' Here we want to do goal seek for Range("H18") 
 '  with the Goal cell as  Range("H21") 
 '  and  the changing cell as Range("G18").
 '
 Private Sub Worksheet_Change(ByVal Target As Range)
     Range("H18").GoalSeek Goal:=Range("H21"), ChangingCell:=Range("G18")
 End Sub

かっこいいですか?

ユン

于 2017-10-27T06:10:28.660 に答える