Excelinput框在input后重新打开

在Excel中使用application.inputbox在单元格中保存date的macros。 inputdate后,格式正确的date出现在单元格中,然后input框再次打开。 它似乎卡在这个怪异的循环。 无论我input多less次,它都会再次提问。

这是这段代码:

Function freshSTART() redBOX.Cells(1).Value = Application.InputBox(prompt:="Enter todays date: ", Title:="TODAY'S DATE", Type:=1) redBOX.Cells(2).Value = Application.InputBox(prompt:="Enter customer's name: ", Title:="CUSTOMER NAME", Type:=2) redBOX.Cells(3).Value = Application.InputBox(prompt:="Enter travel out date: ", Title:="TRAVEL OUT DATE", Type:=1) redBOX.Cells(4).Value = Application.InputBox(prompt:="Enter travel back date: ", Title:="TRAVEL BACK DATE", Type:=1) redBOX.Cells(5).Value = Application.InputBox(prompt:="Enter number of technicians: ", Title:="TECHNICIANS", Type:=1) redBOX.Cells(6).Value = Application.InputBox(prompt:="Enter number of engineers: ", Title:="ENGINEERS", Type:=1) redBOX.Cells(7).Value = Application.InputBox(prompt:="Enter location: ", Title:="LOCATION", Type:=2) End Function 

你也没有passing a parameter也没有得到value returnedvalue returned 。 在这种情况下,有一个function但是一个Subroutine是没有用的。

你在Worksheet changed这个函数吗? 触发上述事件的function时,请使用Application.EnableEvents = False 。 你必须closures事件,否则它将不断重复,拖入无限循环。

然后在change event转回事件。

参考文献:

  • 如何在Workbook_BeforeSave之前停止执行Worksheet_Change的Excel?
  • 活动