如何在用户表单的多页中找到文本框?

How can I find a textbox within a multipage on my userform?

我的用户表单中有十几个需要日期的文本框,它们分为 5 页的多页。

在用户可以通过用户窗体保存更新之前,我遍历所有控件并检查日期格式(以及其他内容)。如果识别出不正确的日期格式,用户将无法保存更新,并且会出现一个消息框来解释错误。我想将焦点设置到有问题的文本框,这样用户就不必自己搜索表单来查找错误。

TextBox.Setfocus 方法在 MultiPage 中不起作用,我需要的页面是可变的,具体取决于错误填写的文本框。我如何识别文本框所在的页面并在其上设置焦点?

不是最优雅的解决方案,但应该有用:

Private Sub SetFocusOnPage()
    Dim i As Integer, numberOfPages As Integer

    numberOfPages = 5

    For i = 0 To numberOfPages - 1
        On Error Resume Next
            Me.MultiPage1.Value = i
            Me.CommandButton2.SetFocus
        If Err.Number = 0 Then Exit For
    Next i
End Sub

用您的控件替换 MultiPage1 和 CommandButton2。