我正在通过按钮处理 Excel VBA。点击按钮后,会弹出一个输入框,询问用户下个月是什么。输入新月份的日期将创建一个以月份和年份命名的新工作簿。如果用户正确输入日期,它就可以正常工作。但是,如果用户通过取消或输入其他数据而不是日期的方式在输入框中输入任何内容。将弹出错误代码 13:类型不匹配。看起来 DATE 变量不能为空。
这是我的代码:
Sub NewMonth_button()
Dim Date_Today As Date
Dim nwFilename As String
Date_Today = InputBox("Please enter YEAR-Month")
nwFilename = "Daily Journal_" & Year(Date_Today) & "_" & Month(Date_Today)
Worksheets(Array("list", "data", "Fill", "Archive>")).Copy
ActiveWorkbook.SaveAs filename:=ThisWorkbook.Path & Application.PathSeparator & nwFilename
End Sub
我尝试过类似的方法:
If Date_Today = "" then
exit sub
end if
就在 Date_Today = InputBox("请输入 YEAR-Month") 行之后
但它不起作用。
有什么方法可以避免这些吗? 非常感谢。
最佳答案
像这样:
Sub NewMonth_button()
Dim Date_Today As Date
Dim Date_Text As String
Dim nwFilename As String
Date_Text = InputBox("Please enter YEAR-Month")
If IsDate(Date_Text & "-01") Then
Date_Today = DateValue(Date_Text & "-01")
nwFilename = "Daily Journal_" & Format(Date_Today, "yyyy_mm")
Worksheets(Array("list", "data", "Fill", "Archive>")).Copy
ActiveWorkbook.SaveAs filename:=ThisWorkbook.Path & Application.PathSeparator & nwFilename
End If
End Sub
关于excel - 从输入框获取日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77286567/