私は現在、次のことを他のユーザーに分かりました。ソルバーを使用せずに値を求める
Number
列は変更されません。ユーザーはMultiplier 1
とMultiplier 2
列に値を入力し、値はOutcome
列になります。
ユーザーはOutcome
列に値を入力することもできますが、Multiplier 1
列は自動的に変更されますか?
現在Number
とOutcome
列が保護されているため、Outcome
列の保護を解除する必要がありますか?
私は現在、次のことを他のユーザーに分かりました。ソルバーを使用せずに値を求める
Number
列は変更されません。ユーザーはMultiplier 1
とMultiplier 2
列に値を入力し、値はOutcome
列になります。
ユーザーはOutcome
列に値を入力することもできますが、Multiplier 1
列は自動的に変更されますか?
現在Number
とOutcome
列が保護されているため、Outcome
列の保護を解除する必要がありますか?
ワークシートのSub Worksheet_Change(ByVal Target as range)
を使用して、いくつかのVBAコードを使用することをお勧めします。
ユーザがD2に値を入力すると、B2 = 012/D2 /(A2 * C2)という式になります。ユーザがB2に値を入力すると、 "= A2 * B2 * C2 」D2
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Cells.Count > 1 Then Exit Sub
On Error GoTo LastLine
If Not Intersect(Target, Range("D2")) Is Nothing Then
Range("B2").Formula = "=D2/(A2*C2)"
ElseIf Not Intersect(Target, Range("B2")) Is Nothing Then
Range("D2").Formula = "=A2*B2*C2"
End If
LastLine:
Application.EnableEvents = True
End Sub
これを行うことができます。次はその意志1ピクセル幅の列を追加することによってトリッキー取得
(数回multiplier2)で割っ
結果:あなたの式は、あなた は簡単の関数としてmultiplier1について解くことができるようにシンプルであることに着目し始め元の 結果列の右側の結果(今は数式ではない)の結果として式 が含まれています。
同様に、multiplier1の新しい式を とする乗数1の右側に1ピクセル幅の列を追加します。元の入力 のセルの乗数1と結果のデータ検証を調整して、2つのうちの1つのみを に一度に入力できるようにします(各セルの有効化規則 検証ルールでisblank関数を適切に使用します)。
最後に、2つの1ピクセル幅のセルを右揃えにして、計算された値 がブランクのときに対応する入力可能セル内に表示されるようにします。 はい、扱いにくいですが動作します。
申し訳ありませんが、これは単なる概要ですが、私はアプリケーションでこれを使用しており、それは 素晴らしいです。 vbaはないので、やり直しをやり直すと壊れません。それを試してみてください。
IMO off topi here - しかしあなたは除外しますかGoal Solverと一緒に探しますか? – pnuts
私はゴールシークを外しています。その理由は、ユーザーがメッセージボックスとやりとりすることなくこの機能を許可する方法を考えているからです。 – user8237423
要件が(特に制限的な場合)なぜそのようなものなのかを知ることは、通常は役に立ちます。 – pnuts