[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『各セルの最終更新時間の表示をさせたい。』(釣吉)
セルA1〜A5?・セルC1〜C5・セルE1〜E5…に書き込みがあった場合、
それぞれの列の下のA10に最終更新日付、A11に最終更新時間…という感じで
表示させたいのですが、うまくいきません。
マクロを使うしか手が無いようですが…
初心者で、マクロの使い方がよくわかりません。
誰か解説等、お願いします。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
マクロの解説は、必要なら行いますが、以下で目的が達成できるかどうかの確認をお願いします。
・このシートのシートタブを右クリック、コードの表示を選んでください。 ・でてきたところ(シートモジュールといいます)に以下のコードを貼り付けてください。 ・右上のXボタンをクリックしてシートに戻ってください。 ・シート上で該当のセルの値を変更してください。
Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Range
Set r = Intersect(Range("A1:A5,C1:C5,E1:E5"), Target) If r Is Nothing Then Exit Sub
Application.EnableEvents = False
Intersect(r.EntireColumn, Rows(10)).Value = Date Intersect(r.EntireColumn, Rows(11)).Value = Time
Application.EnableEvents = True
End Sub
(β) 2017/03/27(月) 11:24
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("A1:A5,C1:C5,E1:E5")) Is Nothing Then Exit Sub
Cells(10, Target.Column).Value = Date Cells(11, Target.Column).Value = Time End Sub (???) 2017/03/27(月) 11:30
対象セル領域については
私のコードなら Set r = Intersect(Range("A1:A5,C1:C5,E1:E5"), Target) ???さんのコードなら If Intersect(Target, Range("A1:A5,C1:C5,E1:E5")) Is Nothing Then Exit Sub
ここを、変更すればいいわけです。どうしたらいいかはわかりますよね。
で、回答は 10行目、11行目に値をセットするということでしたから
Intersect(r.EntireColumn, Rows(10)).Value = Date Intersect(r.EntireColumn, Rows(11)).Value = Time
や
Cells(10, Target.Column).Value = Date Cells(11, Target.Column).Value = Time
この 10 や 11 を 25 や 26 に変えればいいだけなんですが・・・・?
(β) 2017/03/27(月) 12:00
(釣吉) 2017/03/27(月) 12:24
釣吉さんのコメントのすぐ上のコメントで、βさんがどこを変更すればいいのか、ちゃんと書いてらっしゃいますよ。 最初の行からよく読んでみてください。
A1〜A5 のワード、どこかにありませんか? そこにA16〜A20を追加するところから始めてみてください。 (2Win) 2017/03/27(月) 16:13
>追加の仕方が間違っているのでしょうが?
どのようなコードにしたかをアップしてください。 それを見ないと、どこが間違っているのかはわかりませんので。
(β) 2017/03/27(月) 16:17
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.