|
>条件を満たすセルを3つ作る
例えば A1:A3 に入力された値で・・ということなら、先のやり方では条件分岐の
ネストが深くなりすぎて、極端に可読性が悪くなってしまいますから「A1,A2,A3の
値を & で連結したときの全パターン」によって、一回の Select Case で対応できる
ように改造します。その場合先の y / z の結果は、予め算出済みの定数としてしまい、
コードではそれに C1 の値をかけるだけとします。
即ち
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Long, y As Long
Dim St As String
If Intersect(Target, Range("A1:A3")) Is _
Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
x = Range("C1").Value
St = Range("A1").Text & Range("A2").Text & _
Range("A3").Text
Select Case St
Case "ピーマン東京3月10日": y = x * ? '?は定数
以下、全てのパターンを書き出す
End Select
With Application
.EnableEvents = False
Range("C3").Value = y
.EnableEvents = True
End With
End Sub
というようなコードになりますが、他のやり方は分かりません。
|
|