我有3“顶层”的页面(使用多页的功能),然后加入4-嵌套页的每个内的顶层页的2的单个用户窗体。见下面的示例图片。我在编程上引用嵌套页面时遇到困难。EXCEL VBA:在用户窗体选择特定页面时MultiPages嵌套
Screenshot of Nested Multipage Userform
在这个例子中,页面标题和名字是相同的。因此,带有Page4标题的页面也被命名为Page4。我发现,应该返回页面索引时,页面名称传递给它别人的代码在线:
===
功能fMpIndex(BYVAL页面名称作为字符串)
Dim PageCounter As Long
With MultiPage1
For PageCounter = 0 To .Pages.Count - 1
If .Pages(PageCounter).Name = PageName Then fMpIndex = PageCounter: Exit Function
Next PageCounter
End With
fMpIndex = -1
结束功能
===
也能正常工作的顶级页,但是,当我尝试类似:
MSGBOX(“这页的索引为” & fMpIndex(“第5页”))
任何嵌套页(在该例子中,4 & 5两个页面),则此方法返回的值-1 ,表明该页面不存在,但显然它确实存在。这是范围问题吗?上面的代码是否只搜索顶层页面而不是嵌套页面?
什么是按名称或标题或两者以编程方式引用特定页面的最安全,最可靠的方法是什么?我相信它会是这样的:
这userform.which页strip.which page.name(“第5页”)
在这个例子中,我只有1个窗体,但我想知道:如果什么我有2个用户表单?而且,在上面的例子中,我已经假定必须指定哪两页被引用......这是我现在的一个假设,可能不是必需的。
理想情况下,我想在窗体的方式来使用的绝对引用的每一页,无论它是一个顶级页或嵌套页。如果确实如上述规范那样,有人可以提供示例代码吗?
谢谢
丹