Excel 如何动态获取当前多页选项卡值的值?
社区中,我当前正在用户窗体多页上隐藏我的选项卡,但当前选项卡除外。用户可以单击按钮在页面之间来回切换。一些按钮共享子例程。当用户单击按钮时,一旦选择了新选项卡,它将隐藏上一个选项卡。我想这是一个双重问题 1) 如何获取上一个选项卡选择值 2) 如何循环使用选项卡值?我的目标是对照所有其他选项卡测试当前选项卡标题或值。我想这将是一种隐藏它们的简单方法,不管哪个页面和哪个按钮调用子例程 现在我只有一个标签按钮Excel 如何动态获取当前多页选项卡值的值?,excel,vba,tabs,userform,multipage,Excel,Vba,Tabs,Userform,Multipage,社区中,我当前正在用户窗体多页上隐藏我的选项卡,但当前选项卡除外。用户可以单击按钮在页面之间来回切换。一些按钮共享子例程。当用户单击按钮时,一旦选择了新选项卡,它将隐藏上一个选项卡。我想这是一个双重问题 1) 如何获取上一个选项卡选择值 2) 如何循环使用选项卡值?我的目标是对照所有其他选项卡测试当前选项卡标题或值。我想这将是一种隐藏它们的简单方法,不管哪个页面和哪个按钮调用子例程 现在我只有一个标签按钮 Sub NewCreditSetup() MultiPage1.Pages(1).
Sub NewCreditSetup()
MultiPage1.Pages(1).Visible = True
MultiPage1.Value = 1
MultiPage1.Pages(0).Visible = False
//More code displaying tab...irrelevant
End Sub
您可以使用tab change事件来确定何时更改选项卡,并将当前选项卡
索引作为变量存储。然后,再次更改选项卡时,此变量中的选项卡将变为上一个选项卡
即:
然后,您可以循环浏览所有选项卡,并对照其名称、标题或索引进行检查。例如:
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
可能还值得注意的是,要小心显示和隐藏选项卡,因为这并不常见,可能会混淆用户。不过我会让你决定的 我想这会对你有帮助
Dim m As String
m = MultiPage1.SelectedItem.Caption
MsgBox m
你说的“按钮”是什么意思?你能附上一张显示“按钮”的屏幕截图吗?您是否尝试过“页面”事件,以捕获这些事件并触发相应的操作…?这很好地解决了问题。感谢您在网站上的支持。我同意你的逻辑。在这个过程中,我也尝试了这种方法。对于每个更改为页面的按钮,我都使用相同的例程来显示内容。我检查当前页面的值是否是给定给目标页面的页面。如果不是,我将其赋值为x。然后我使当前页面不可见。(除主页外,所有选项卡均不可见)。然后,我使目标页面可见。再次感谢,干得好。您还可以使用它来记住表单的状态。也就是说,如果用户在第二个选项卡上并将其关闭,下次加载时,您可以将其设置为该选项卡。
Dim m As String
m = MultiPage1.SelectedItem.Caption
MsgBox m