在集合中收集空白控件值时过程/调用参数无效



当用户想要提交数据时,只要用户表单上的控件名称值为空,就在集合中添加控件名称值。

它循环遍历所有工作表并将所有值添加到集合中,但它超过了最后一页上的最后一个控件(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

最新更新