- ベストアンサー
相互に連動するセルを持つ売上シミュレーション
- Excel VBAを使用して相互に連動するセルを持つ売上シミュレーションを作成したいです。
- 具体的には、総売上を基準にして売上の内訳を入力し、一方の値が変化すると他方の値も自動的に変化するような仕組みです。
- このようなシミュレーションを実現する方法について教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
とりあえず、VBAで実現する為のサンプルコードを提示します。対象シートモジュールに入れてください。 A1とB1の間で相互に連動しています。 Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Target.Address = "$A$1" Then Range("B1") = Range("A1") * 100 ElseIf Target.Address = "$B$1" Then Range("A1") = Range("B1") / 100 End If Application.EnableEvents = True End Sub 途中のApplication.EnableEvents = False/Trueは、無くても良いんですが念のため……。
その他の回答 (1)
- hallo-2007
- ベストアンサー率41% (888/2115)
>売上のシミュレーションができるものを考えているのですが やりたいことはわからないでもないですが >左のセルを7500にすると右が75になり、右のセルを55とすると左が5500になるようなものです。 売上を増やすと合計の売り上げも増えるので 75%ではなくなります。 構成比を55%と変更したら、ほかの構成比も変わります。 入力する度に、合計の金額(比率も)が変わりますよね。 売上の目標などを設定されていると思いますが、一例として A B C D 1目標売上 10000 決定総売上 2 3 品目 設定金額 設定比率 決定金額 4生鮮食品 6500 5 衣類 2000 6 家具 0.1 ・・・ と準備したとして D4セルに =IF(B4="",B$1*C4,B4) といれて下へコピーしておいて B列、或いは C列のいずれかに 数値を入れます。 金額を決定するのに、比率を優先したのか、金額を優先したのかわかります。 D1セルに =SUM(D4:D100)とか入れておいて目標金額に合わせる為に どれかの金額、或いは比率を合わせる必要があるかどうか など判断されては如何でしょうか。
お礼
代替案のご提示ありがとうございます。 お返事遅れて申し訳ありませんでした。 参考にさせていただきます。