我有7个文本框,对应于7个没有用户窗体的标签。 1.我需要遍历每个文本框并找到空/空白文本框 2.显示相应标签的消息框。标题不能为空 3.找到文本框编号以将焦点放在空白文本框上
Dim x As Integer
For x = 1 To 7
'Find the empty/blank TextBox
If ActiveSheet.OLEObjects("TextBox" & x).Object.Text = "" Then
'Display Message
MsgBox ActiveSheet.OLEObjects("Label" & x).Object.Caption & " cannot be empty"
'Find the empty/blank Texbox number to set focus.This is where I am stuck
TextBox(Number?).Activate
Exit Sub
End If
Next x
答案 0 :(得分:0)
您可以这样做:
Dim x As Integer
Dim emptyTextboxIndex As Long
For x = 1 To 7
If ActiveSheet.OLEObjects("TextBox" & x).Object.Text = "" Then
MsgBox ActiveSheet.OLEObjects("Label" & x).Object.Caption & " cannot be empty"
emptyTextboxIndex = ActiveSheet.OLEObjects("TextBox" & x).Index
ActiveSheet.OLEObjects(emptyTextboxIndex).Activate
Exit Sub
End If
Next x
顺便说一句,如果我是你,我将避免使用ActiveSheet
,而是使用对工作表的显式引用。我也将避免使用Exit Sub
。