プロが教えるわが家の防犯対策術!

以下のようにマクロを記録しました。

Sub Macro11()
'
' Macro11 Macro
'

'
Range("V30").GoalSeek Goal:=440, ChangingCell:=Range("W30")
Range("V31:W31").Select
Range("V31").GoalSeek Goal:=440, ChangingCell:=Range("W31")
Range("V32:W32").Select
Range("V32").GoalSeek Goal:=440, ChangingCell:=Range("W32")
Range("V33:W33").Select
Range("V33").GoalSeek Goal:=440, ChangingCell:=Range("W33")
End Sub

v30からv33のセルにはマクロを実行できるのですが、他のセルからは、実行できません。
方法があれば、教えてください。

A 回答 (2件)

>この部分を加えればよいのでしょうか。



いいえ、ゴールシークを働かせるためには、数式が必要になります。
ご質問のマクロは、既に数式の上に設定されたものだと推察しています。

どの場所でも構わないのですが、
Range("V31").GoalSeek Goal:=440, ChangingCell:=Range("W31")

Rang("A1")に数式があれば、その数式に対して、

Goal =「目標値]と[変化するセル]を加えてやればよいのです。

Range("A1").GoalSeek Goal:=440, ChangingCell:=Range("W31")'W31も任意
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2016/12/01 10:25

これは、単に、最初の数式がないからではないでしょうか。



ActiveCell.FormulaLocal = "=RC[1]*8"
ActiveCell.GoalSeek 440, ActiveCell.Offset(, 1)



With ActiveCell
 .Offset(, 1).Name = "X"
 .FormulaLocal = "=(-3*X)+4"
 .GoalSeek -5, Range("X")
End With
    • good
    • 0
この回答へのお礼

ActiveCell.FormulaLocal = "=RC[1]*8"
ActiveCell.GoalSeek 440, ActiveCell.Offset(, 1)
この部分を加えればよいのでしょうか。

お礼日時:2016/11/26 04:31

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