我正在运行VBA并且我有取消按钮的问题,如果按下取消按钮或退出按钮,我希望在单元格中不更改值。怎么办?
Private Sub Workbook_Open()
Sheets("Start").Range("B1").Value = Application.InputBox(Prompt:="Insert Date", Type:=1)
Cancel = True
End Sub
答案 0 :(得分:3)
试试这个:
Private Sub Workbook_Open()
Dim inpt
inpt = Application.InputBox(Prompt:="Insert Date", Type:=1)
If CStr(inpt) <> "False" Then Sheets("Start").Range("B1").Value = inpt
End Sub
我使用CStr(inpt) <> "False"
代替inpt <> False
或If inpt Then
的原因是因为用户可以输入0
(它是带有Type:=1
的输入框的有效输入)
答案 1 :(得分:2)
类似的东西(我已将今天的日期作为默认选择)
Dim lngCnt As Long
lngCnt = Application.InputBox(Prompt:="Insert Date", Default:=Format(Now(), "dd-mmm-yy"), Type:=1)
If lngCnt = 0 Then
'user cancelled
Else
Sheets("Start").Range("B1").Value = lngCnt
End If