当用户想要提交数据时,只要用户表单上的控件名称值为空,就在集合中添加控件名称值。
它循环遍历所有工作表并将所有值添加到集合中,但它超过了最后一页上的最后一个控件(6(,并在这一行向我抛出了一个无效的过程/调用参数错误:
For Each icontrol In Me.MultiPage1.Pages(i).Controls
其余代码:
Private Sub CommandButton1_Click()
Dim icontrol As Control
Dim colBlankFields As New Collection
Dim i As Long
For i = 0 To Me.MultiPage1.Pages.Count
For Each icontrol In Me.MultiPage1.Pages(i).Controls
If icontrol.Visible = True Then
Select Case True
Case icontrol.Name Like "txt*"
If icontrol.Value = "" Then
colBlankFields.Add icontrol.Name
End If
Case icontrol.Name Like "opt*"
If icontrol.Value = "" Then
colBlankFields.Add icontrol.Name
End If
Case icontrol.Name Like "cmb*"
If icontrol.Value = "" Then
colBlankFields.Add icontrol.Name
End If
End Select
Else
End If
Next
Next i
If IsEmpty(colBlankFields) Then
Else
MsgBox colBlankFields
End If
End Sub
索引从零开始,因此不等于页数。第5页的索引是4。
因此,任一循环-1:
For i = 0 To Me.MultiPage1.Pages.Count -1
' ...
Next
或者使用For Each
:
Dim page As Page 'Not sure about the the datatype
For Each page In Me.MultiPage1.Pages
' ...
Next