• 締切済み

SubまたはFunctionが定義されていません

こんばんは。私はエクセル2007のVBA(マクロ)についてわからなくなってしまったので質問させてください。今回私はエクセルのマクロで記録をしたのですが、記録が終了した後再びそのマクロを実行しようとした際、「subまたはfunctionが定義されていません」とでてしまいました。 まずは作成したコードを、 Sub 記録a2() ' ' 記録a2 Macro ' ' SolverReset Cells(1, 3) = "推算値" Cells(1, 4) = "残差平方" Cells(12, 3) = "残差平方和" Cells(1, 5) = "y=a*b*x/(1+b*x)" Cells(2, 5) = "a" Cells(2, 6) = "b" Cells(3, 5) = "1" Cells(3, 6) = "1" Cells(2, 3) = "=R3C5*R3C6*RC[-2]/(1+R3C6*RC[-2])" Range("C2").Select Selection.AutoFill Destination:=Range("C2:C11"), Type:=xlFillDefault Range("C2:C11").Select Range("D2").Select ActiveCell.FormulaR1C1 = "=(RC[-2]-RC[-1])^2" Range("D2").Select Selection.AutoFill Destination:=Range("D2:D11"), Type:=xlFillDefault Range("D2:D11").Select Range("D12").Select ActiveCell.FormulaR1C1 = "=SUM(R[-10]C:R[-1]C)" Range("D13").Select SolverOk SetCell:="$D$12", MaxMinVal:=2, ValueOf:="0", ByChange:="$E$3:$F$3" SolverAdd CellRef:="$E$3:$F$3", Relation:=3, FormulaText:="0" SolverOk SetCell:="$D$12", MaxMinVal:=2, ValueOf:="0", ByChange:="$E$3:$F$3" SolverSolve End Sub 私はこのマクロの名前を「記録a2」と名前付けました。もちろん記録が終了した後にもそれを確認しました。しかし、このエラーは調べてみたところ、名前subやfunctionの名前のところが定義されていない、もともと存在しない時に出るということを知りました。 ちなみに、エクセル上のエラーかとも思ったので、一度エクセルを落として新しく立ち上げたエクセルにまた別の名前をつけて同様に作業したところ、同じ結果になりました。 それでは今回の場合はなにが原因なのでしょうか・・・わかる方どうぞよろしくお願いします。

みんなの回答

  • f272
  • ベストアンサー率46% (8467/18126)
回答No.1

SolverReset とか,この仲間のルーチンがどこにあるのかわからない と言っているのです。 VisualBasicEditorを開いて ツールの参照設定で 参照可能なライブラリファイルの一覧の中の SOLVER にチェックを入れてください。