現状すでに1列目(A列)に何かが入っている場合であっても上書きされてしまいますが。
こんなかんじでどうでしょうか。
判定は以下の方法で判定できます。
セルオブジェクト.Columnの値が1であればA列
■VBAコード
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myRng As Range
'イベント一時中止
Application.EnableEvents = False
'変更されたセルだけループ
For Each myRng In Target
'変更されたセルが2列目以上で、変更されたセルが空白以外の場合
If myRng.Column > 1 And myRng <> "" Then
'1列目に値をセット
Cells(myRng.Row, 1) = myRng
'変更されたセルを削除
myRng.ClearContents
End If
Next
'イベント再開
Application.EnableEvents = True
End Sub
お礼
回答頂き、ありがとうございます。 自分でも組んでいたのですが、 Application.EnableEvents = Falseを忘れており だいぶ時間がかかってしまいました。 また、ClearContentsをはじめて知りました。 今まで ="" で消していたので… 良い方法かは分かりませんが、 Cells(myRng.Row, 1) = myRng の部分を Cells(myRng.Row, 1) = Cells(myRng.Row, 1) & myRng と変更させて頂きました。 これでA列も保持されている…みたいです。 ありがとうございました! 本当に助かりました^^