![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
エクセル ソルバーのセル参照をVBAコードで変更しようとしていますが,複数のセル参照がうまくいきません.
まず,マクロの記録でセルc3の値を2にするようにC2とC4の値を変更するというコードを記録させました.
SolverOk SetCell:="$C$3", MaxMinVal:=2, ValueOf:="6",ByChange:="$C$2,$C$4"
次にセル参照をコードで操作するために"$C$3"の部分はcells(3,3)と置き換えてもうまく起動したのですが,"$C$2,$C$4"の部分は,cells(2,3),cells(4,3)と置き換えると,
コード内でエラーメッセージ「コンパイルエラー,修正候補,名前付き引数」とでます.この場合どう修正すればいいのでしょうか.
コードでセル参照を操作しようという動機は,例えば「アクティブセルから下のセルを順に3つ参照するよう」など,場合に応じてマクロを指示するためですが,ためしに試みた時点で上記内容でつまずいてしまいました.
よろしくご教示お願いします.
No.3
- 回答日時:
こんにちは。
#2です。別にユーザー任意でやっているものに、問題があるはずはありません。
ただ、シナリオにして保存しておくとか、選択値や数式自体をマクロでするなり方法はあるかと思うだけです。
No.2
- 回答日時:
こんにちは。
>例えば「アクティブセルから下のセルを順に3つ参照するよう」
通常、ActiveCellに対して、Solver の引数を入れるような書き方はありえないと思います。それは、ByChange の引数は、それ自体がワークシート上の計算式で、引数になっているはずです。単独では成立しないと思います。
あえて、それは無視して回答します。
Dim rng As Range
Set rng = Range("C2,C4") '"$C$2,$C$4"
' Set rng = ActiveCell.Resize(4) 'アクティブセルから下に3つ
rng.ClearContents
Solverreset 'SOLVER.Reset_all 'Ex2003
SolverOk SetCell:="$C$3", MaxMinVal:=2, ValueOf:="6", ByChange:=rng.Address
SolverSolve
Set rng = Nothing
ご回答ありがとうございます.
ご指摘の点ですが,Activecellを使おうとしたのは,
目的変数,説明変数,制約式の計算式が1つの列にあり,この列を複数の列にコピーして,説明変数の初期値が違う計算をいくつも実行する場合,どの列の計算をするのかの参照にActivecellのセル番地を利用しようという意図です.
この場合の問題点があれば,お時間があればご指摘くだされば助かります.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/02/02 13:13
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/04/21 13:46
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
- Excel(エクセル) エクセルのVBAで上の表の最下行を求める 4 2022/09/14 15:22
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで 自動的に◯や数字を...
-
【マクロ】2回実行したら、エ...
-
エクセルのツールバーから数値...
-
特定の文字列を含む、住所を抽...
-
Excel 2019 [オプション]の[リボンのユ...
-
祝日と土曜、日曜の合計をカウ...
-
EXCELの散布図で日付が1900年に...
-
マイクロソフトのPADを使ってい...
-
絶対参照
-
エクセルでCtrl+Tでテーブルの...
-
【マクロ】名前を保存する際に...
-
エクセルのクイックアクセスツ...
-
【マクロ】VLOOKUPにて参照元に...
-
Excel分数の表示について
-
【EXCEL】画像の黄色部分の抽出...
-
DATE関数で現在の年齢を出した...
-
Excelについて
-
マクロエクセルのブロック解除
-
Excelピボットテーブルの1行目
-
REGEXREPLACE関数について、
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報