[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セルに入力した日時を表示させる方法を探しています。』(てつや)
セルに記入した日時を表示させる演算式を探しています。
例えば、Sheet1,A1に「テスト」と記入したとき、Sheet2,B1にSheet1,A1に記入した年月日時間が表示されるようにすることは出来ますでしょうか?
また、Sheet1,A1の内容を更新したときにはSheet2,B1の年月日も更新される様にしたいです。
どなたか宜しくお願い致します。
単純に考えてこんな事? B1=IF(Sheet1!A1<>"",NOW(),"") そしてB1の書式を時刻にしておく。 やっぱり、外してますよね。 (SS)
↑上記書き込みは撤回します。 早とちりしてました。ファイルを保存して再び開いた時にも 変わってしまいますよね。全くもってお恥ずかしい......。 マクロでないと無理かも? (SS)
VBA です。
Sheet1 のタブ(表の下の Sheet1 とあるところ)を右クリックし、 「コードの表示」で出てくるところに
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$A$1" Then Exit Sub If Range("A1").Value = "テスト" Then Worksheets("Sheet2").Range("B1").Value = Date & " " & Time End Sub
を貼り付け。
※「Sheet1,A1の内容を更新したときには」ということは、A1 が「テスト」でなくても 作動すべきなのでしょうか。それなら
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$A$1" Then Exit Sub Worksheets("Sheet2").Range("B1").Value = Date & " " & Time End Sub
追っての質問で申し訳ありませんが、
・現在Sheet1,A1に対してSheet2,B1が対応していますが、
Sheet1,A2に対してSheet2,B2
Sheet1,A3に対してSheet2,B3
と範囲を増やす場合には、
「Worksheets("Sheet2").Range("B1").Value = Date & " " & Time」
の部分を増やすしかないのでしょうか。
宜しくお願い致します。
ご質問のような関係なら、名無しさんのコードを変更したらどうですか。 (茨) Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub If Target.Row > 3 Then Exit Sub Worksheets("Sheet2").Range("B" & Target.Row).Value = Date & " " & Time End Sub
こんなのはどうでしょうか。(ROUGE) '---- Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Range For Each c In Target If Not Intersect(c, Range("A1:A3")) Is Nothing Then _ Sheets("Sheet2").Cells(c.Row, 2).Value = _ Format(Now, "yyyy/mm/dd hh:mm:ss") Next End Sub
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.