プロが教えるわが家の防犯対策術!

A行に何かデータを入力した場合、同じ列のとなりの行のセルに入力時間を残したいと思い、


A1:あ B1:2006/5/9/16:00
A2:い B2:2006/5/10/18:00

以下のマクロを教えて頂いたのですが、
Private Sub Worksheet_Change(ByVal Target As Range)
'///A列のセル以外ならマクロ終了///
If Target.Column <> 1 Then Exit Sub
'///1行目のセルならマクロ終了///
If Target.Row = 1 Then Exit Sub
'///内容がブランクならB列のセルをブランクにする。///
If Target.Value = "" Then
Target.Offset(0, 1).Value = ""
Else
Target.Offset(0, 1).Value = Format(Date + Time, "yyyy/mm/dd hh:mm:ss")
End If
End Sub

A列以外にもC列に入力した値の入力時間をD列にE列に入力した値の入力時間をF列にと、全部で6箇所値を入力したとなりのセルに入力時間が出るようにしたかったのですが、

'///A列のセル以外ならマクロ終了///
If Target.Column <> 1 Then Exit Sub

の部分を

'///A,C列のセル以外ならマクロ終了///
If Target.Column <> 1 Or Target.Column <> 3 Then Exit Sub

のように変更してまずはA列とC列に値を入れて挑戦したのですが、時間が表示されなくこまっておりました。
解決方法をご存知のかたがいらっしゃいましたら、ぜひよろしくお願いいたします。

A 回答 (3件)

#1です。

このようにしてみました。

Private Sub Worksheet_Change(ByVal Target As Range)
' 1行目のセルならマクロ終了
If Target.Row = 1 Then Exit Sub

' A列かC列かE列なら
If Target.Column = 1 Or Target.Column = 3 Or Target.Column = 5 Then

'  内容がブランクなら隣のセルをブランクにする
If Target.Value = "" Then
Target.Offset(0, 1).Value = ""
Else
Target.Offset(0, 1).Value = Format(Date + Time, "yyyy/mm/dd hh:mm:ss")
End If
End If
End Sub
    • good
    • 1
この回答へのお礼

ありがとうございます!無事できました。
大変助かりました。

お礼日時:2006/05/11 10:03

全部で6箇所とはA.C,E,G,I,K列ですか?


それなら

Private Sub Worksheet_Change(ByVal Target As Range)
'///A.C,E,G,I,K列以外ならマクロ終了///
If Target.Column <> 1 And Target.Column <> 3 And Target.Column <> 5 _
And Target.Column <> 7 And Target.Column <> 9 And Target.Column <> 11 Then Exit Sub
'///1行目のセルならマクロ終了///
If Target.Row = 1 Then Exit Sub
'///内容がブランクならB列のセルをブランクにする。///
If Target.Value = "" Then
Target.Offset(0, 1).Value = ""
Else
Target.Offset(0, 1).Value = Format(Date + Time, "yyyy/mm/dd hh:mm:ss")
End If
End Sub

ですかね。
    • good
    • 0
この回答へのお礼

ありがとうございます!大変参考になりました。

お礼日時:2006/05/11 10:04

>If Target.Column <> 1 Or Target.Column <> 3 Then Exit Sub


C列は、最初のA例以外の条件でEXITしてしまうし、その他もA列は、C列以外の条件に当たります。
この場合は、ORの条件で行うのでしたら、
If Target.Column = 1 Or Target.Column = 3 Then
で、時間を書き込み
elseで、抜け出るように
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。
なるほど条件式がまずかったわけですね、
大変お手数ではありますが、elseで抜けるとはどのように書けばよろしいのでしょうか?
何分初心者なのもで、基本的なことかもしれませんがよろしくお願致します。

お礼日時:2006/05/09 19:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!