• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:空欄のセルをダブルクリックした時に現在の年月日を入力させたいのです。)

Excel VBAを使用してセルをダブルクリックした時に現在の年月日と時間を入力する方法

このQ&Aのポイント
  • Excel VBAを使用して、指定された範囲のセルをダブルクリックした時に現在の年月日を入力し、隣のセルに現在の時間を入力する方法を説明します。
  • 具体的には、C1からC30までのセルをダブルクリックした時にC1からC30に現在の年月日を表示し、D1からD30に現在の時間を表示します。また、E1からE30をダブルクリックした時にもE1からE30に現在の時間を表示します。
  • VBAコードを使用して、セルのダブルクリックイベントを処理し、ActiveCellに対して現在の日付を入力し、隣のセルに対して現在の時間を入力します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

こんばんは。 まぁみなさんと大差ないけど、私なら Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not IsEmpty(Target) Then Exit Sub If Intersect(Target, Range("C1:C30,E1:E30")) Is Nothing Then Exit Sub If Target.Column = 3 Then Target.Value = Date Target.Offset(, 1).Value = Time ElseIf Target.Column = 5 Then Target.Value = Time End If Cancel = True End Sub

fi7
質問者

お礼

希望通りの事が出来ました。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.4

実は With が好きなので使ってみた。Visual C# も With が使えるといいのになぁ。 Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not IsEmpty(Target) Then Exit Sub If Intersect(Target, Range("C1:C30,E1:E30")) Is Nothing Then Exit Sub With Target If .Column = 3 Then .Value = Date .Offset(, 1).Value = Time ElseIf .Column = 5 Then .Value = Time End If End With Cancel = True End Sub

fi7
質問者

お礼

希望通りの事が出来ました。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • DreamyCat
  • ベストアンサー率56% (295/524)
回答No.2

If Not Intersect(Target, Range("C1:C1000")) Is Nothing Then If ActiveCell = "" Then ActiveCell.Value = Date ActiveCell.Offset(, 1).Value = Hour(Now()) End If End If If Intersect(Target, Range("E1:E1000")) Is Nothing Then Exit Sub ActiveCell.Value = Hour(Now()) Cancel = True これでどうぞ。年月日や時刻の書式はformat関数を調べてみてください。 >>「プライバシーに関する・・」  <<  これはわかりませんが、セキュリティレベルを一番下げてしまう かな?

fi7
質問者

お礼

希望通りの事が出来ました。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.1

C列に日付表示と同時にD列に時刻表示は Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Intersect(Target, Range("C1:C1000")) Is Nothing Then Exit Sub If ActiveCell = "" Then ActiveCell = Date ActiveCell.Offset(0, 1) = Time 'この部分が追加 Cancel = True End If End Sub で可能

fi7
質問者

お礼

希望通りの事が出来ました。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A