
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列に値を入れて挑戦したのですが、時間が表示されなくこまっておりました。
解決方法をご存知のかたがいらっしゃいましたら、ぜひよろしくお願いいたします。
No.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
No.2
- 回答日時:
全部で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
ですかね。
No.1
- 回答日時:
>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で、抜け出るように
ご返答ありがとうございます。
なるほど条件式がまずかったわけですね、
大変お手数ではありますが、elseで抜けるとはどのように書けばよろしいのでしょうか?
何分初心者なのもで、基本的なことかもしれませんがよろしくお願致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
[Excel VBA]空白セル以外に連番...
-
エクセル マクロ 行や列を削除...
-
Excelの非表示列も含めてコピー
-
エクセルVBA 複数列をコピーす...
-
EXCELにて複数列を同条件(色)...
-
Excelで表を作り、自動で今月の...
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
エクセルの曜日表示が正しく表...
-
エクセルで1列に500行並んだデ...
-
エクセルの複数のセルを一括で...
-
エクセルで日付から日にちを削...
-
A1セルに入力したら、入力時間...
-
複数の文字列のいずれかが含ま...
-
セルを結合したA4とA5の条件付...
-
エクセルでセルを10個分くらい...
-
エクセルオートフィルタで余計...
-
【Excel】セル内の時間帯が特定...
-
エクセルのセルが突然選択でき...
-
エクセルのセルが縦方向にのびる
-
excel:別シートの値を飛び飛び...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELにて複数列を同条件(色)...
-
Excelの非表示列も含めてコピー
-
シート保護の状態で行の追加を...
-
エクセル VBA 指定の範囲内をコ...
-
エクセルで表示された値だけ行...
-
[Excel VBA]空白セル以外に連番...
-
一行おきにコピーするマクロが...
-
エクセルで行挿入した際、自動...
-
エクセルで空白以外のセルの値...
-
エクセルの関数について(日付で...
-
エクセルVBA 複数列をコピーす...
-
エクセルで反転コピー
-
エクセルで縦に長い表を印刷
-
エクセルのマクロ、AVERAGEIFを...
-
エクセル マクロ 貼り付け先が...
-
Excell : 現在のカーソルがある...
-
Excelのマクロについて教えてく...
-
EXCELマクロ 最下行のセルの数...
-
マクロに精通されている皆様。...
-
Excel条件が一致したセルの処理...
おすすめ情報