【发布时间】:2021-11-16 23:01:20
【问题描述】:
我想在输入框中输入一个日期后,我想它选择一个日期或date_wb中的一个条目。但是,我的宏不仅没有错误地完成它
'Open file
file_name = Application.GetOpenFilename(Title:="Choose a target Workbook")
If file_name <> False Then
'Set data file
Set data_wb = Application.Workbooks.Open(file_name)
'Input box
Do
inputbx = InputBox("Enter Date, FORMAT; YYY-MM-DD", , Format(VBA.Now, "YYYY-MM-DD"))
If inputbx = vbNullString Then Exit Sub
inputstr = Split(inputbx, "-")
On Error Resume Next
InputDate = DateSerial(inputstr(2), inputstr(0), inputstr(1))
On Error GoTo 0
DateIsValid = IsDate(InputDate)
If Not DateIsValid Then MsgBox "Please enter a valid date.", vbExclamation
Loop Until DateIsValid
【问题讨论】:
-
DateSerial获取参数年、月、日(按此顺序)。您要求用户输入日期 yyyy-mm-dd,在这种情况下您需要DateSerial(inputstr(0), inputstr(1), inputstr(2))。 -
好的,谢谢,但问题仍未解决:(
-
您遇到了什么错误?
-
如果您描述问题可能会有所帮助。会发生什么,您是否收到运行时错误,最终结果是不是您期望的结果还是空白?
-
它没有从data_wb的输入框中选择结果
标签: excel vba excel-formula