2015-12-31 44 views
0

我想从电子表格上的命令按钮运行一个名为PostFlight的窗体,表单将运行多个输入循环。从命令按钮在循环中运行的调用窗体

因此,目前我有一个commandbutton点击调用称为PostFlight的窗体成功。

Private Sub CommandButton1_Click() Counter = 0 BatteryAmp = Application.InputBox(Prompt:="What is battery Amps?") Range("AC1").Value = BatteryAmp BatteryCounter = Application.InputBox(Prompt:="How many batteries?") Range("AA204").Value = BatteryCounter PostFlight.Show End Sub

称为飞行后形式的作品正是我希望它作为一个独立的形式。

我的问题是在哪里放置循环以及在哪里定义该循环的变量。

我知道我想定义一个计数器作为整数,并且循环必须运行直到它达到BatteryCounter值。但是在哪里放置循环?

不要我把它在声明旁边的私人小组CommandButton1_Click()

OR

不要我把它在形式的代码,如果我把它在形式的代码,它有所作为至于我在代码中放置循环的位置。

我试图增加和显示形式

Counter = Counter + 1 
Range("AA205").Value = Counter 

的代码反但它并不适用于某些或其他原因的工作。

希望你能够帮助我。

在此先感谢。

+0

这需要一个或多个附加标签才能覆盖合适的受众群体。它是VBA吗? Vb.net? – Mic

+0

你想让表单显示自己的计数器的每个实例吗?或者你想为每个计数器操作表单中的对象吗? –

+0

我想在每种情况下都有表单显示。 例如。我想输入一个变量,用于输入详细信息的次数,输入实例1的详细信息,将这些详细信息发布到电子表格中,表格清除并重新输入初始可变数量的表单条目。 我的表单完全符合并清除并允许在输入按钮后输入,但我想限制输入窗体出现的次数。 –

回答

0

如果我知道你想什么正确的,这应该工作:

Private Sub CommandButton1_Click() 

    Dim Counter as Integer 

    BatteryAmp = Application.InputBox(Prompt:="What is battery Amps?") 
     Range("AC1").Value = BatteryAmp 
    BatteryCounter = Application.InputBox(Prompt:="How many batteries?") 
     Range("AA204").Value = BatteryCounter 

    For Counter = 1 to BatteryCounter 
     PostFlight.Show 
    Next 

End Sub 

我做了一个小测试,此代码和它的工作。但是,您需要确保表单中填充条目的单元格在完成单元格填充后或在表单完成后执行您希望的任何操作后才会有PostFlight.Hide行。

+0

非常感谢 这是Postflight.Hide,我没有在我的代码中导致表单在每次输入数据后都会弹出。 不确定为什么我放在电子表格中以显示变量如何变化的变量指示器没有正确显示变化,但这并不是什么大问题,因为代码正在工作,而且我将其作为调试练习来执行。 再次感谢。 –