我想要一个简单的输入框,如果我按cancel,它不会清空单元格,留下以前的单元格内容,但当我按ok时,它会在单元格中显示我键入的任何内容,如果我没有键入任何内容,它会显示一个空单元格。(仅当按下ok时(。
使用Application.InputBox方法:
Option Explicit
Public Sub AskForInput()
Dim Response As Variant
Response = Application.InputBox("type something")
If Not (VarType(Response) = vbBoolean And Response = False) Then
Worksheets("Sheet1").Range("A1").Value = Response
End If
End Sub
请注意,(VarType(Response) = vbBoolean And Response = False)
会检查是否按下了取消键。如果输入框为空,并且您按"确定",它仍然会清空单元格。
还要注意,我们在这里还需要检查Response
的VarType
,否则它会将0
的输入视为False
并取消。