如何dynamic获取当前多页标签值的值?

社区,我目前隐藏我的标签在我的userform多页面当前标签除外。 用户可以点击button在页面之间来回切换。 一些button共享子例程。 当用户点击一个button时,一旦select了新选项卡,它将隐藏前一个选项卡。 我想这是一个双重的问题。

1)我怎样才能得到以前的选项卡select值?

2)我怎样才能循环我的标签值? 我的目标是testing当前标签标题或价值对所有其他人。 想象这将是一个隐藏他们所有的简单方法,无论哪个页面和哪个button调用子例程。

现在我只有一个选项卡button…

Sub NewCreditSetup() MultiPage1.Pages(1).Visible = True MultiPage1.Value = 1 MultiPage1.Pages(0).Visible = False //More code displaying tab...irrelevant End Sub 

您可以使用选项卡更改事件来确定选项卡更改的时间,并将当前选项卡index存储为variables。 然后当选项卡再次更改时,此variables中的选项卡变成前一个选项卡。

即:

 Private iPrevTab As Integer Private iCurTab As Integer Private Sub MultiPage1_Change() iPrevTab = iCurTab iCurTab = MultiPage1.Index 'You can also check here what that tab is to do something with it If MultiPage1.Value = MultiPage1.Pages("mySpecialPage").Index Then 'Go Nuts End If End Sub 

然后,您可以遍历所有选项卡,并检查它们的名称,标题或索引。 例如:

 Private Sub LoopTabs() Dim ii as Integer for ii = 1 to MultiPage1.Pages.Count If MultiPage1.Pages(ii).Index = iPrevTab Then Debug.Print MultiPage1.Pages(ii).Name & " " & MultiPage1.Pages(ii).Caption End If Next ii End Sub 

也许值得注意的是小心显示和隐藏标签,因为它不常见,可能会混淆用户。 尽pipe如此,我会把它留给你。