• 締切済み

ダブルクリックで日付の表示と数字のカウントアップ

エクセルのマクロについて教えてください。 1つのシート内でセルをダブルクリックしたとき、 (1)A列にはその日の日付 (2)B列には数字のカウントアップ を表示する場合、どのようなコードにすればよいのでしょうか。 自分で調べてみたところ(1)のみ(2)のみは表示できるのですが、(1)(2)の両方はできません。 試しに(1)を日付ではなく「○」を表示するように変えてみると両方できるので、数字同士の両立が無理なのでしょうか。 このシートは複数の人がデータを入力していくためのものです。 該当のケースが発生した都度登録するので、最初から何行使うかわかりません。 日付は登録した日を表示させます。 カウントアップは同じケースが発生したときに使います。 質問の仕方もわからない初心者ですみません。 どうぞよろしくお願いいたします。

みんなの回答

  • masnoske
  • ベストアンサー率35% (67/190)
回答No.4

No.3です. A1に何も入力されていない場合にバグがあったので,以下のように訂正します. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Intersect(Target, Range("A:B")) Is Nothing Then ' A列,B列以外でダブルクリックしたときの処理 Cancel = False ' A1セルとB1セルが更新されるタイプ Range("A1").Value = Date Range("B1").Value = Range("B1").Value + 1 ' A列とB列に追加されるタイプ With Cells(Rows.Count, 1).End(xlUp) Debug.Print .Address If .Row = 1 And .Value = "" Then .Value = Date .Offset(0, 1).Value = 1 Else .Offset(1, 0).Value = Date .Offset(1, 1).Value = .Offset(0, 1).Value + 1 End If End With Else ' A列,B列でダブルクリックしたときに編集モードに入るのを回避 Cancel = True End If End Sub

  • masnoske
  • ベストアンサー率35% (67/190)
回答No.3

No.1です. 基本構造は以下の感じです. 特定のセルを変化させるタイプと追記するタイプ両方のコードを書いていますので,不要なほうを削除するなりコメントアウトするなりして使用して下さい. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Intersect(Target, Range("A:B")) Is Nothing Then ' A列,B列以外でダブルクリックしたときの処理 Cancel = False ' A1セルとB1セルが更新されるタイプ Range("A1").Value = Date Range("B1").Value = Range("B1").Value + 1 ' A列とB列に追加されるタイプ With Cells(Rows.Count, 1).End(xlUp) .Offset(1, 0).Value = Date .Offset(1, 1).Value = .Offset(0, 1).Value + 1 End With Else ' A列,B列でダブルクリックしたときに編集モードに入るのを回避 Cancel = True End If End Sub

  • kkkkkm
  • ベストアンサー率66% (1742/2617)
回答No.2

以下のようなものででできなかったというこでしょうか Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True Cells(Target.Row, "A").Value = Date Cells(Target.Row, "B").Value = 'ここにカウントアップの式 End Sub

  • masnoske
  • ベストアンサー率35% (67/190)
回答No.1

>1つのシート内でセルをダブルクリックしたとき、 シート内の全セルがダブルクリックの対象でしょうか. > (1)A列にはその日の日付 ダブルクリックする度に A1, A2, A3... に日付が追加されて行くのか,特定のセル(たとえばA1)の日付が変わるのか. > (2)B列には数字のカウントアップ ダブルクリックする度に B1, B2, B3... に数字がカウントアップされて行くのか,特定のセル(たとえばB1)の数字がカウントアップされるのか. >カウントアップは同じケースが発生したときに使います。 同じケースとは何を意味しているのでしょうか. もう少し詳しくお願いします. 画像ファイルを添付してもらったほうが伝わりやすいです. Win10標準の Snipping Tool で画像を保存して添付すれば簡単です.

関連するQ&A