• ベストアンサー

ゴールシーク(マクロ)で型が一致しないと表示

マクロ初心者です。 ゴールシークを調べると Range(”式の入ったセル”).GoalSeek Goal:=Range(”目標の入ったセル”), ChangingCell:=Range(”変化させるセル”) このような解説があったので、実際に Sub 熱伝導グラフ_ボタン17_Click() Worksheets(Sheet1).Range(S33).GoalSeek Goal:=Worksheets(Sheet1).Range(S32), ChangingCell:=Worksheets(Sheet1).Range(S25) End Sub 上を作成しマクロを実行したのですが、型が一致しませんというエラーが出ます。 何が原因なのか、またどのような対処が必要か教えてください。 作成したいゴールシークはS33の式中のS25を変化させることにより目標値S32になるS25を見つけるプログラムを作成したいと考えています。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

エクセルマクロの基本的な約束事をひとつ覚えてください。 間違い:  Worksheets(Sheet1) 正解:  Worksheets("Sheet1") 間違い:  Range(S33) 正解:  Range("S33") シート名やセル番地は、ごらんになったサンプルにもあるようにいずれも「””」で囲って記入します。 漏れなく直せば、そのマクロで正常に実行できます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルのマクロでゴールシークの繰り返し

    こんにちは。マクロ初心者です。 現在、エクセルのゴールシーク機能を繰り返し使うためにマクロを作っています。 下のプログラムでアクティブセルのゴールシークは行えるようになったのですが、これをアクティブセルが空白になるまで繰り返すことはできますか? できればiを使わないようにしたいのですが‥ ActiveCell.goalseek Goal:=ActiveCell.Offset(0, -1).Value, ChangingCell:=ActiveCell.Offset(0, -3).Range( _ "A1") ちなみに違う人が使っていた Do Until ActiveCell.Previous.Value = "" を使おうと思ったらパソコンが動かなくなってしまいました‥ 基本ができていない為にめちゃくちゃなことをしているのかもしれませんが、どうかアドバイスをお願い致します。

  • エクセルのマクロ、「ゴールシーク」繰返し文。

    エクセルのマクロで、 セル値[A1]が、範囲内(10から-10)に成るまで、 「ゴールシーク」を、10回だけ繰返す、 マクロ文を教えて下さい。 (変数セル[B1])

  • ゴールシークのVBAの質問

    お世話になります。ゴールシークのVBAの質問です。 ゴールシークの数式入力セルが”F25”・目標値が”150”・変化させるセルを”F18”とするゴールシークのルールとします。 コマンドボタンをクリックすると、上記で述べたゴールシークを自動で実行してくれ、その後F24の値が40以下なら「40%以下です。水を補給し液面を増やしてください。」とMsg Boxが出現し、OKボタンのみを表示させるVBAはどの様に組めば良いのでしょうか?

  • Exelのゴールシークについて

    基本的な質問で大変恐縮です。 エクセルのシートの B1に、=IRR(C1:F1) C1に、-800,000 D1に、70,000 E1に、70,000 と入力したうえで「ツール」の「ゴールシーク」で「数式入力セル」をB1,「目標値」を10%、「変化させるセル」をF1としてOKを押すと、 「セルに入力した数式の計算結果は数値でなければなりません」というメッセージが出てきます。 どこかやり方がまずいのだと思うのですが、どこがいけないのでしょうか??

  • 【エクセル】ゴールシークをマクロで使う方法は?

    よろしくお願いいたします。 ゴールシークを組み込んだマクロを作成したいのですが どのように行ったら良いでしょうか? ご存知の方、お教え願います。

  • Excel2003 ゴールシークの操作手順を教えてください

    たとえば、セルC9の限度額が300,000円の場合、セルC5の税抜き26,000円の商品は何個買うことができるか、ゴールシーク機能を使用してセルC7に求める。というもので、ゴールシークダイアログボックスに入力(セルをクリック)するのですが、うまくいきません。OKを押すと「数式の入力されているセルを指定してください」と表示が出ます。 (操作のどこか、間違っているとは思うのですが・・・) この場合、ゴールシークダイアログボックスの「数式入力セル」、「目標値」、「変化させるセル」には、どのセルを指定すればよいのか教えてください。 よろしくお願いします。

  • ゴールシークについて

    エクセルのゴールシークを利用して解きたい問題があるのですが、 「セルに入力した数式の計算結果は数値でなければなりません」と表示されてしまいます。 「変化させるセル」が「数値入力セル」の分母であることが原因だと思われますが、 解決法がわかりません。 ご教示のほどよろしくお願いします。

  • マクロをマクロを使ってコピーしたい

    Excel2010です。 今、book1の各シート(ここでは"S1"で特定していますが、たとえばs1、s2、s3の3つがあるとします。)の左上隅「X」マークを右クリックすると出てくる「コードの表示」に以下の内容を記録しています。 ------------- Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Sh.Name = "s1" Then Exit Sub Worksheets("s1").Range("e6") = Sh.Range("an7")   Worksheets("s1").Range("e9") = Sh.Range("bj7")   Worksheets("s1").Range("e10") = Sh.Range("br7") End Sub ------------- これをbook1のマクロ本体の実行によってbook1のシート"s1"を含むいくつかのシートのあるコピーbook2に、同じようにマクロでこの「Private Sub」をコピーしたいと思っています。どのようのすればいいでしょうか。 よろしくお願いします。

  • マクロの中に別なマクロを組み込むには

    よろしくお願いします。 excel2003でマクロを作っています。 Sheet2のC1、D1、E1にセルを赤く塗りつぶす、赤と入力、カラーインデックスの番号を入力するというマクロを作りボタンに割り当てたいと思います。 全部で色が17色あるので、マクロを17個作らなければならないと思うのですが、なるべく簡略化したいと思います。 そこで下記の「赤」というマクロの中に「色」というマクロを取り込みたいのですが、うまくできませんでした。 どうかマクロの中にマクロを取り込む方法を教えてください。 もし下記のマクロがもっとスマートに出来るようでしたら、それも教えていただけると嬉しいです。 VBAは初心者ですがよろしくお願いします。 Sub 赤() irobango = 3 ironamae = "赤" End Sub Sub 色() Worksheets("Sheet2").Range("C1").Select With Selection.Interior .ColorIndex = irobango .Pattern = xlSolid End With Worksheets("Sheet2").Range("D1").Value = ironamae Worksheets("Sheet2").Range("E1").Value = irobango End Sub

  • エクセルチャート操作のマクロのエラー

    エクセルマクロ初心者です。グラフの縦軸をセルの値の変化に合わせて変化するよう(対照のセルはB1とB2で変化します。)下記のマクロをネット検索してモジュールに貼り付け機能するようになったのですが、シートに保護をかけると、「実行時エラー ー214767259(80004005): MaximumScaleメソッドは失敗しましたAxisオブジェクト のメッセージが出て機能しません。 Worksheet_SelectionChange(ByVal Target As Range) If Range(A1) <> "" Then Call AxesSet End Sub Sub AxesSet() Dim oChart As ChartObject Set oChart = Worksheets("Sheet1").ChartObjects(1) With oChart.Chart.Axes(xlValue, xlPrimary) .MaximumScale = Worksheets("Sheet1").Range(B1) .MinimumScale = Worksheets("Sheet1").Range(B2) .DisplayUnit = xlThousands .HasDisplayUnitLabel = False .MinorTickMark = xlInside End With End Sub 対照セルの保護の問題かと思い、セルのロックを解除したり、マクロから保護を解除するなど検索してみたのですが上手くいきません。シートを保護してもマクロが機能する解決方法お教えください。

専門家に質問してみよう