|    | 
     ▼UO3 さん: 
いつも丁寧な解説をありがとうございます。 
感謝いたします。 
>▼隼 さん: 
> 
>このコードがやっていることは 
> 
>入力が「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 
 | 
     
    
   |