初めて書いたVBA

問題管理をするのに、通番をチェックするのが面倒で、自動発行してくれる処理を書きました。
番号の形式は、”yyyymmdd-通番”にしています。
C列に問題管理番号、D列に登録日を自動入力する処理にし、通番はこれから採番しようとする番号の登録日と同じ登録日の個数を数えて+1しています。

またVBAを書くときのために、メモとして残しておきます。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim tmpAddress As String, tmpRow As String, cellcnt As Double
  
  tmpAddress = Target.Address(True, False)
  tmpRow = Left(tmpAddress, InStr(tmpAddress, "$") - 1)
  If tmpRow = "C" Then
    If Target.Value = "" Then
      If Range("C" & Int(Mid(tmpAddress, InStr(tmpAddress, "$") + 1) - 1)).Value <> "" Then
        cellcnt = WorksheetFunction.CountIf(Range("D:D"), Date)
        Target.Value = Format(Date, "yyyymmdd") & "-" & Format(cellcnt + 1, "000")
        Range("$D" & Mid(tmpAddress, InStr(tmpAddress, "$"))).Value = Date
      Else
        MsgBox "一番上の空欄をダブルクリックしてください"
      End If
    End If
  End If
End Sub