Excel VBAを使ってみた: ダブルクリックでセルに日付と色を挿入

2023.06.07

こんにちは、ks_kazuです。

仕事の進捗管理で、工程が終わったら進捗表に日付とセルを青く塗りつぶすようになっていまして、それがめんどくさいと感じたので Excel VBAを使ってダブルクリックしたときセルに日付と色が入るようにしてみたときのメモです。

以下のような進捗表でした。

Excelシートを開いて、 ファイル > オプション を選択して Excelのオプション画面で リボンのユーザー設定 を選択する。

開発にチェックを入れ OKボタンを押す。

開発 > Visual Basic を選択する。

ThisWorkbookをダブルクリックする。

コードウィンドウが表示されます。

Workbookを選択する。

SheetBeforeDoubleClick を選択する。

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

   With Selection.Interior   '選択したセル
          .ColorIndex = 5  '青色にする
         Target.Value = Date '今日の日付を入れる
         Target.NumberFormat = "d/m(aaa)" '月/日(曜日)の表示にしました
         Target.Font.ColorIndex = 2 '文字の色を白にする
  End With

End Sub

ダブルクリックする至る場所に色と日付が入ってしまう苦情。

自分だけ使うならまだしも多人数で共有するので配慮が足りませんでした。

以下修正

日付が入るところを白色に塗りつぶす。

コードを以下に修正しました。

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

   With Selection.Interior
        If .ColorIndex = 2 Then '選択した箇所が白だった場合
           .ColorIndex = 5
          Target.Value = Date
          Target.NumberFormat = "d/m(aaa)"
          Target.Font.ColorIndex = 2        
        End If ’もしも終わり
  End With

End Sub

拡張子を .xlsm で保存。

間違えて入れてしまったなどの対処も追加したりもしましたがこんな感じでやってました。