我正在尝试提供一些vba代码,以便在打开工作簿时自动打开输入框,并让用户输入日期,然后将日期放在A1单元格中。我已经编写了下面的代码,但输入框根本没有拉起它只是打开工作簿并继续...不确定发生了什么。任何和所有的帮助表示赞赏。
谢谢!
Option Explicit
Private Sub workbook_open()
Dim cellvalue As Variant
Dim ws As Worksheet
Set ws = Worksheets("Workbench Report")
ReShowInputBox: cellvalue = Application.InputBox("Please Enter Todays Date (dd/mm/yyyy)")
If cellvalue = False Then Exit Sub
If IsDate(cellvalue) And CDate(cellvalue) < Date Then
ws.Range("A1").Value = DateValue(cellvalue)
Else: MsgBox ("Invalid Date!")
GoTo ReShowInputBox
End If
End Sub
答案 0 :(得分:2)
您的代码会在我打开工作簿时触发。请尝试以下步骤。
答案 1 :(得分:1)
对于Workbook_Open事件,脚本需要驻留在私有模块(ThisWorkbook)
中来自Ozgrid:
Workbook_Open事件是Workbook Object的一个过程 这样,Workbook_Open过程必须驻留在私有模块中 工作簿对象(ThisWorkbook)。