В любом месте, где используется Today (), вместо него должно использоваться строго числовое значение.
ThisWorkbook.Names.Add name:="Today", refersto:=chr(61) & CLng(Date)
Это должно быть сделано.Кажется излишним изменять Date на текстовое значение только для того, чтобы развернуться и снова преобразовать его в дату с помощью DateValue.
Возможно, вы не хотите, чтобы указанное имя было видимым для других.
ThisWorkbook.Names.Add name:="Today", refersto:=chr(61) & CLng(Date), visible:=false
Я бы порекомендовал поместить это в Workbook_Open или другую соответствующую подпроцедуру.
Option Explicit
Private Sub Workbook_Open()
On Error Resume Next
ThisWorkbook.Names("Today").Delete
On Error GoTo 0
ThisWorkbook.Names.Add Name:="Today", RefersTo:=Chr(61) & CLng(Date), Visible:=False
End Sub