You can also do this dynamically:
Private Sub UserForm_Initialize()
'The textbox of interest located on Page 0 of Multipage2 nexted on Page 0 of Multipage1.
'Hide it
MultiPage1.Value = 1
MultiPage2.Value = 1
DynamicSetFocus TextBox3
lbl_Exit:
Exit Sub
End Sub
Sub DynamicSetFocus(oCtrl As Control)
Dim oParentCtrl As Object
Dim arrCtrl()
Dim lngParent As Long, lngIndex As Long
Set oParentCtrl = oCtrl.Parent
If oParentCtrl.Name = Name Then
oCtrl.SetFocus
Else
Do Until oParentCtrl.Name = Name
ReDim Preserve arrCtrl(1, lngParent)
arrCtrl(0, lngParent) = TypeName(oParentCtrl)
arrCtrl(1, lngParent) = oParentCtrl.Name
Set oParentCtrl = oParentCtrl.Parent
lngParent = lngParent + 1
Loop
End If
For lngIndex = UBound(arrCtrl, 2) To 1 Step -1
Select Case arrCtrl(0, lngIndex)
Case "MultiPage"
Controls(arrCtrl(1, lngIndex)).Value = Controls(arrCtrl(1, lngIndex)).Pages(CStr(arrCtrl(1, lngIndex - 1))).Index
lngIndex = lngIndex - 1
Case "Frame"
Controls(arrCtrl(1, lngIndex)).SetFocus
End Select
Next
'The control's parent is now visible so set focus.
oCtrl.SetFocus
lbl_Exit:
Exit Sub
End Sub