空欄のセルをダブルクリックした時に現在の年月日を入力させたいのです。
そして同時に隣のセルにも現在時間を入力させたいのです。
また、その隣のセルをダブルクリックした時にも現在時間を入力させたいのです。
エクセル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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelにて、シート1の行を削除するとシート2のシート1と同じ番号の行も削除したい 3 2022/05/08 04:24
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) 【再々投稿】VBAのプログラムで動作しなくて困っています 8 2022/10/14 09:06
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
A1セルに入力したら、入力時間...
-
参照先セルに値が入っていない...
-
Excelで同じセルに箇条書きをし...
-
エクセルで既に入力してある文...
-
IF関数で0より大きい数値が入力...
-
Excel:文字と数字の組合せ、次...
-
空白でないセルの値を返す方法...
-
値を入力後、自動的にアクティ...
-
Excelでセルに入力されたカラー...
-
エクセルの数式がかぶって、選...
-
エクセル セルに━ (横棒)を入...
-
yyyy/mm/ddからyyyy/mmへの変換
-
ExcelVBAでセルを編集状態にす...
-
エクセルで計算式の入力されて...
-
エクセルで複数の条件で掛け算...
-
ふりがな表示
-
エクセルで、特定のセルの内容...
-
エクセルの数式で計算結果に文...
-
エクセルで10分ごとの時刻の...
-
エクセルを保存し終了する際に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
A1セルに入力したら、入力時間...
-
Excelで同じセルに箇条書きをし...
-
参照先セルに値が入っていない...
-
IF関数で0より大きい数値が入力...
-
エクセルで既に入力してある文...
-
空白でないセルの値を返す方法...
-
Excelでセルに入力されたカラー...
-
Excel:文字と数字の組合せ、次...
-
値を入力後、自動的にアクティ...
-
エクセルで時間の判定をしてい...
-
yyyy/mm/ddからyyyy/mmへの変換
-
入力したところまでを自動的に...
-
エクセルで、特定のセルの内容...
-
エクセルの数式がかぶって、選...
-
エクセルで複数の条件で掛け算...
-
EXCELのセル上のURLを...
-
excel 関数にて文字を0として認...
-
エクセルの数式で計算結果に文...
-
マイナス同士の前年比
-
バーコードが読み取れない原因...
おすすめ情報