こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

投稿日時 - 2012-11-07 21:29:08

QNo.7786701

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

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

投稿日時 - 2012-11-07 21:50:21

あなたにオススメの質問