|
▼隼 さん:
このコードがやっていることは
入力が「A1」の時のみ実行する。(「B1」への入力時は何もしない)
で、「A1」が"H"なら C列の「未出力セル」に、「B1」の値をセット
「A1」が"L"なら D列の「未出力セル」に、「B1」の値をセット
ですので、B1 にいれる前に A1 にいれても、入力のないB1を相手に処理されるだけ。
その後、B1に何をいれても、処理されません。
もし、「B1」に入力した時に、「A1」の値によって、「B1」の値を
C列またはD列にセットするなら以下ですね。
もし、「A1」に入力した時も、「B1」に入力した時も、その時点でのA1やB1の値を相手に
処理するなら、また別のコードになります。
それと、C10000 といった、固定セル名は使わないほうがいいですね。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim S As String
If Target.Address(0, 0) <> "B1" Then Exit Sub
S = Target.Offset(, -1).Value 'A1の値
Select Case S
Case "H": Range("C" & Rows.Count).End(xlUp).Offset(1).Value = Target.Value
Case "L": Range("D" & Rows.Count).End(xlUp).Offset(1).Value = Target.Value
End Select
End Sub
|
|