dポイントプレゼントキャンペーン実施中!

こんばんは。私はエクセル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の名前のところが定義されていない、もともと存在しない時に出るということを知りました。
ちなみに、エクセル上のエラーかとも思ったので、一度エクセルを落として新しく立ち上げたエクセルにまた別の名前をつけて同様に作業したところ、同じ結果になりました。
それでは今回の場合はなにが原因なのでしょうか・・・わかる方どうぞよろしくお願いします。

A 回答 (1件)

SolverReset


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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています