Excel VBA - 在多页面更改但只有一次

时间:2015-12-11 19:59:16

标签: excel vba

我在Main_Window.MultiPage2.Value = 2下的Multipage中有一个flexgrid这个flexgrid有8000行,我不想加载它们,除非实际点击了这个页面。我所拥有的代码就是这样做的,但问题是它每次都会加载而不只是一次。有没有办法让它在第一次更改时加载,那就是它?

Private Sub MultiPage2_Change()

    If Main_Window.MultiPage2.Value = 2 Then
        Call form_segment_carrier_auto
    End If

End Sub
form_segment_carrier_auto中的

是一个填充flexgrid的模块。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您可以声明一个Public布尔变量,例如:

Public ChangedOnce As Boolean

这应该在一些标准代码模块中。

然后将您的事件处理程序更改为:

Private Sub MultiPage2_Change()
    If ChangedOnce Then Exit Sub
    ChangedOnce = True
    If Main_Window.MultiPage2.Value = 2 Then
        Call form_segment_carrier_auto
    End If

End Sub

如果事件多次发生,事件处理程序仍会被多次调用,但只有第一次调用才会执行任何操作。