从命令按钮调用在循环中运行的表单

时间:2015-12-31 15:04:24

标签: forms excel-vba loops vba excel

我想从电子表格上的命令按钮运行一个名为PostFlight的表单,表单将运行多个输入周期。

所以目前我有一个命令按钮点击,可以成功调用名为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

名为Postflight的表单完全按照我希望的方式作为独立表单。

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

我知道我想将Counter定义为Integer,并且循环必须运行直到达到BatteryCounter值。但是在哪里放置循环?

我是否将它放在Private Sub CommandButton1_Click()

旁边的声明中

OR

我是否将其放在表单代码中,如果我将其放在表单代码中,是否会对我放置循环的代码中的位置产生影响。

我试图在

形式的代码中递增并显示一个计数器
Counter = Counter + 1
Range("AA205").Value = Counter

但由于某种原因或其他原因,它无效。

希望你能帮助我。

提前致谢。

1 个答案:

答案 0 :(得分: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,或者在表单完成后执行您希望的所有操作。