« 拡張子JPGをjpgに一括変換する方法 | トップページ | [Picasa] ウェブ アルバムが見えない »

[Excel] ソルバーを使用して VBマクロを作成する

[Excel] ソルバーを使用して VBマクロを作成する方法

MSの公式サイト(http://support.microsoft.com/kb/843304/ja)の解説は、機械翻訳のため、分かりにくい。

以下の手順で、最適化ツール Solver をマクロの中で利用できる。

■準備:[参照設定]

(1)VBA のエディタを開く
(2)メニュー[ツール]-[参照設定]をクリック
(3)"SOLVER.xls" を指定する

■マクロ:以下のコマンドを使用

(1)SolverOK(SetCell, MaxMinVal, ValueOf, ByChange):モデル定義
(2)SolverSolve(UserFinish, ShowRef):実行
(3)SolverFinish (KeepFinal、ReportArray):完了

■例文:連続的なデータから順に抽出して、Solverを実行し、結果を順に格納する。

Sub Solver繰り返しマクロ()

   For i = 1 To 100

       'データ(B31+i-1前後9点)の値を(B5-B13)にコピー
        Range("B5:B13").Value = Range(Cells(i + 30 - 4, 2), Cells(i + 30 + 4, 2)).Value

        ' パラメータ設定:目的セル=D14、パラメータセル=E9-G9
        ' 条件:MaxMinVal =2 (目的セルを最小値にする;最大にするなら1;特定値にするなら3)

        SolverOk SetCell:="D14", MaxMinVal:=2, ValueOf:="0", ByChange:="E9:G9"

        ' 結果ボックスを非表示
        SolverSolve UserFinish:=True

       '結果(E9-G9)の値を5-7列目の31行以下にコピー
        Range(Cells(i + 30, 5), Cells(i + 30, 7)).Value = Range("E9:G9").Value

        ' 終了&結果を保持(破棄&元の値を復元なら=2)
        SolverFinish KeepFinal:=1

    Next i

End Sub

|

« 拡張子JPGをjpgに一括変換する方法 | トップページ | [Picasa] ウェブ アルバムが見えない »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: [Excel] ソルバーを使用して VBマクロを作成する:

« 拡張子JPGをjpgに一括変換する方法 | トップページ | [Picasa] ウェブ アルバムが見えない »