【问题标题】:Excel form: Input random date in form comes out all screwyExcel表格:在表格中输入随机日期出来都搞砸了
【发布时间】:2022-01-29 06:21:27
【问题描述】:

在 excel 2010 中,我正在创建一个非常简单的表单。我有一个文本框,要求用户在其中输入日期。此文本框名为 startDate

我使用以下格式的日期输入对其进行测试:dd/mm/yyyy

然后在 VBA 编辑器中我将其声明为日期:

Dim startDate As Date

我接下来有一个消息框报告开始日期,以确保其正常工作:
msgBox (startDate)

我输入1/12/1983,msgBox 会返回12:00 am

为什么?

【问题讨论】:

    标签: forms date excel vba


    【解决方案1】:

    试试这个:

    MsgBox FormatDateTime(TheDate, vbShortDate)
    

    你也可以这样设置输入格式:

    Sub inputDate()
        Dim dateString As String, TheDate As Date
        Dim valid As Boolean: valid = True
    
        Do
          dateString = Application.InputBox("Enter A Start Date (dd/mm/yy): ", Format(Now(), "dd/mm/yy"))
    
          If IsDate(dateString) Then
            TheDate = DateValue(dateString)
            valid = True
          Else
            MsgBox "Invalid date"
            valid = False
          End If
        Loop Until valid = True
    
        If valid Then MsgBox (TheDate)
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      • 1970-01-01
      • 2013-12-31
      • 2011-11-16
      • 2021-08-10
      相关资源
      最近更新 更多