No.4ベストアンサー
- 回答日時:
No.2です。
空白とはC~E列すべてが空白としています。
↓のコードに変更してください。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long, cnt As Long
If Intersect(Target, Range("C:E")) Is Nothing Then Exit Sub
For i = Target(1).Row To Target(Target.Count).Row
If i > 2 Then
cnt = cnt + 1
If WorksheetFunction.CountBlank(Cells(i, "C").Resize(, 3)) = 3 Then
Cells(i, "B").ClearContents
Else
With Cells(i, "B")
.Value = Date
.NumberFormatLocal = "yyyy/mm/dd"
End With
End If
If cnt = 100 Then Exit For
End If
Next i
End Sub
※ 列全体のように膨大な行数を範囲指定してデータを消去してしまうと
「応答なし」の状態になると思いますので、列全体をしていしても100行でループをやめています。
これではどうでしょうか?m(_ _)m
No.3
- 回答日時:
補足より。
更新の意味をお聞きしたのですが、コメントないのでそのままにしています。
何でも入力でいいなら、他回答者様のコードで出来ると思います。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nvalue As Variant
If Intersect(Target, Range("C3:E5")) Is Nothing Then Exit Sub
If Range("C" & Target.Row) = "" And Range("D" & Target.Row) = "" And Range("E" & Target.Row) = "" Then
Range("B" & Target.Row).Value = ""
Exit Sub
End If
nvalue = Target.Value
Application.EnableEvents = False
Application.Undo
If Target.Value <> nvalue Then
Range("B" & Target.Row).Value = Date
Target.Value = nvalue
End If
Application.EnableEvents = True
End Sub
No.2
- 回答日時:
こんにちは!
VBAでの処理になります。
一例です。
操作したいSheetのシートモジュールにしてください。
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("C:E")) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
If .Row > 2 And .Value <> "" Then
With Cells(.Row, "B")
.Value = Date
.NumberFormatLocal = "yyyy/mm/dd" '←表示形式は好みに!
End With
End If
End With
End Sub
※ 対象セルが3行目以降で動きます。尚、空白の場合は何もしていません。
こんな感じではどうでしょうか?m(_ _)m
この回答へのお礼
お礼日時:2017/01/16 10:16
こんにちは。早速教えて下さり有難うございます。
記載漏れしていたのですが、C~E列を空白にしたら、B列を空白にすることは可能でしょうか?
No.1
- 回答日時:
更新されたらというのは「変更されたら」という意味にしましたので、同じ値を入れた場合は日付は入れていません。
C3〜E5の範囲で自動実行するイベントマクロです。
シートモジュールに記載して下さい。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nvalue As Variant
If Intersect(Target, Range("C3:E5")) Is Nothing Then Exit Sub
nvalue = Target.Value
Application.EnableEvents = False
Application.Undo
If Target.Value <> nvalue Then
Range("B" & Target.Row).Value = Date
Target.Value = nvalue
End If
Application.EnableEvents = True
End Sub
この回答へのお礼
お礼日時:2017/01/16 10:47
こんにちは。早速教えて下さり有難うございます。
記載漏れしていたのですが、C~E列を空白にしたら、B列を空白にすることは可能でしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
数式による空白を無視して最終...
-
「データ要素を線で結ぶ」がチ...
-
関数TRANSPOSEで空白セルを0に...
-
Excelで、入力文字の後に自動で...
-
エクセルでCSVを編集するとき、...
-
VBA スペースが入力されて...
-
空白セル内の数式を残したまま...
-
Excel > ピボットテーブル「(空...
-
エクセル 連番が途切れていると...
-
【Excel】 Ctrl+方向キー で空...
-
vlookupの結果が0になるセルと...
-
空白セルにハイフンを表示
-
【Excel】 csvの作成時、空白セ...
-
色つき行の一括削除は?
-
VBAでのフィルタについて(空白...
-
SUMIFS関数で「計算式による空...
-
《Excel2000》SUMPRODUCT関数で...
-
excel2010 空白セルにのみ貼り...
-
ピボットテーブルで空白セルの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
エクセルでCSVを編集するとき、...
-
数式による空白を無視して最終...
-
「データ要素を線で結ぶ」がチ...
-
Excel > ピボットテーブル「(空...
-
関数TRANSPOSEで空白セルを0に...
-
ピボットテーブルで空白セルの...
-
空白セル内の数式を残したまま...
-
【Excel】 csvの作成時、空白セ...
-
色つき行の一括削除は?
-
excel2010 空白セルにのみ貼り...
-
エクセルで上の行の値を自動的...
-
Excel:関数が入っているセルに...
-
Excelで、入力文字の後に自動で...
-
エクセル 連番が途切れていると...
-
SUMIFS関数で「計算式による空...
-
【Excel】 Ctrl+方向キー で空...
-
《Excel2000》SUMPRODUCT関数で...
-
形式貼り付けの「空白を無視す...
-
エクセル VLOOKUP関数 日付は日...
おすすめ情報