繁体   English   中英

工作簿上的输入框打开

[英]Input Box on workbook open

我试图提出一些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

您的代码会在我打开工作簿时触发。 尝试这些步骤。

  1. 打开Excel并另存为,将扩展名更改为.XSLM
  2. 打开VBA编辑器(ALT + F11)
  3. 在左侧窗口中,找到您的宏文件(您刚创建并命名的文件 - 在“VBA项目”之后的括号中),向下钻取到“此工作簿”并双击它。
  4. 将代码粘贴到右侧窗口中
  5. 保存文件并重新打开。

见附图。

顺便说一句,“cellValue = false”应该是cellValue =“”,因为InputBox返回一个字符串而不是一个布尔值。

在此输入图像描述

对于Workbook_Open事件,脚本需要驻留在私有模块中(ThisWorkbook)

来自奥兹格里德

Workbook_Open事件是工作簿对象的过程,因此,Workbook_Open过程必须驻留在工作簿对象(ThisWorkbook)的私有模块中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM