validation - 日期验证 : Setting minimum and maximum date in a Textbox

标签 validation vba date excel

我的 VBA 代码中有一个函数,可以为文本框设置特定的日期格式。

这是我的代码,用于验证日期的格式是否正确:

Function CheckDate(DateStg As String) As Boolean

If DateStg = "" Then
  ' Accept an empty value in case user has accidentally moved to a new row
  CheckDate = True
  lblMessage.Caption = ""
  Exit Function
End If

If IsDate(DateStg) Then
  CheckDate = True
  lblMessage.Caption = ""
Else
  CheckDate = False
  lblMessage.Caption = "Sorry I am unable to recognise " & DateStg & " as a date."
End If

End Function

除了检查文本框中的日期是否是实际日期之外,我还需要验证文本框日期是否不小于当前日期减去 1 个月,并且。另外,我想验证该日期是否不超过当前日期加 1 年。

所以:

  • DateStg > 今天 - 1 个月
  • DateStg < 今天 + 1 年

感谢您提前提供的帮助。

最佳答案

您可以使用一些功能:

''Assume date is not good
DateOK=False
If IsDate(DateStg) Then
     If DateStg > dateAdd("m",-1,Date()) _
         And DateStg < dateAdd("m",12,Date()) Then
        ''Date is good
        DateOK=True
     End If
End if

在大多数情况下,文本框可以设置为仅接受日期,并且您可以设置验证规则来检查范围,因此可能不需要代码。

关于validation - 日期验证 : Setting minimum and maximum date in a Textbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11967520/

相关文章:

java - 如何在 JSP 中将 Java Date 转换为 ReadableInstant for Joda Time?

ruby-on-rails - Rails 中的模型验证以测试数字是否可以为 nil 或某个正整数

matlab - inputParser 验证参数未按预期运行

javascript - 仅过滤可见的单选按钮

VBA:如果在第 1 行中找到 A,并且在第 2 行中找到 B.. 那么

excel - 如何移植 OneNote 2010 vba 脚本(托管在 XLSM 文件中)以在 Onenote 2016 中工作

ruby-on-rails - 您如何允许使用 ruby​​ on rails 进行空日期输入?

validation - p :keyFilter not working as expected in Firefox

excel - 从 VBA 中的函数返回数组

javascript - 在 javascript Date 中添加或减去时区差异