
空欄のセルをダブルクリックした時に現在の年月日を入力させたいのです。
そして同時に隣のセルにも現在時間を入力させたいのです。
また、その隣のセルをダブルクリックした時にも現在時間を入力させたいのです。
エクセル2007を使用しています。
(例)C1からC30までのセルをダブルクリックした時にC1からC30に現在年月日を表示させ、D1からD30に現在時間を表示させる。
また、E1からE30をダブルクリックした時にE1からE30に現在時間を表示させる。
上記の事をやりたいのですが、C1からC30の現在年月日の入力までしかうまくできないのです。
どのようにすればうまくできるか、VBAに詳しい方、ご教授お願い致します。
現在までのコードは以下のように入力しました。
Option Explicit
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
Cancel = True
End If
End Sub
初心者なので、詳しい変更方法の解説をお願いします。
また、このエクセルを保存する時に「プライバシーに関する・・」というダイアログが出てくるのですが出ないように変更できますか?
出さないようにできる方法があれば教えて下さい。
よろしくお願い致します。
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
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
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関数を調べてみてください。
>>「プライバシーに関する・・」 <<
これはわかりませんが、セキュリティレベルを一番下げてしまう かな?
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
で可能
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
A1セルに入力したら、入力時間...
-
入力したところまでを自動的に...
-
【Excel】セル内の時間帯が特定...
-
エクセルで既に入力してある文...
-
IF関数で0より大きい数値が入力...
-
エクセルで時間の判定をしてい...
-
excel入力セルをクリックしただ...
-
Excelで同じセルに箇条書きをし...
-
エクセル:コメントのようなも...
-
Excelで土地面積の計算
-
Excel:文字と数字の組合せ、次...
-
値を入力後、自動的にアクティ...
-
エクセルで計算式の入力されて...
-
エクセルで時間をそのまま数字...
-
エクセル セルに文字を入力した...
-
エクセルの数式がかぶって、選...
-
Excelで、いきなりセル入力した...
-
Excel 分数の分子を小数点で表...
-
睡眠時間を計算する関数
-
IF関数1と6なら「〇」それ以...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
A1セルに入力したら、入力時間...
-
Excelで同じセルに箇条書きをし...
-
IF関数で0より大きい数値が入力...
-
入力したところまでを自動的に...
-
エクセルで既に入力してある文...
-
Excel:文字と数字の組合せ、次...
-
excel 関数にて文字を0として認...
-
空白でないセルの値を返す方法...
-
エクセル セルに文字を入力した...
-
【Excel】セル内の時間帯が特定...
-
Excelでセルに入力されたカラー...
-
エクセルで時間の判定をしてい...
-
エクセル:コメントのようなも...
-
エクセルの数式がかぶって、選...
-
yyyy/mm/ddからyyyy/mmへの変換
-
マクロ無しで時間自動で記入を...
-
エクセルで一定の数値を超えた...
-
参照先セルに値が入っていない...
-
バーコードが読み取れない原因...
-
エクセルで数字10が1に変わる。...
おすすめ情報