我有一个包含6个文本框的UserForm,用户可以填写(或不填写)2,3,4或6或他/她想要的任何内容。这些被称为:
eb1,eb2,eb3,...
在表格的最后还有一个“接受”字样。 buttom,当用户点击它时,文本应如下所示:
eb1,eb2,eb3,eb4 ......
当然其中一个问题是如果用户只填写3个框,结果可能是:
eb1,eb2,eb3 ,,,
我该怎么做?我想我需要类似变量数组和for循环的东西,但不知道怎么做,我对VBA很新。
非常感谢。
答案 0 :(得分:-1)
请尝试以下操作。 使用6个文本框创建用户表单&将它们命名为eb1,eb2,eb3,eb4,eb5& EB6。然后添加命令按钮&将代码粘贴到它下面。然后运行userform&在文本框中输入一些值。 单击命令按钮以查看msgbox。
Private Sub CommandButton1_Click()
dim str as string
dim a as integer
'Check for text box name & loop through textboxes
for a=1 to 6 'No of text boxes have.(remember that your text boxes should have names like eb1
'find out if there is any blank textboxes & avoid them
if Controls("eb" & a).Value <> "" then
'Correction for front , if eb1 is empty
if str="" then
str=Controls("eb" & a).Value
else
str=str & " , " & Controls("eb" & a).Value
end if
end if
next
msgbox str
end Sub
最终消息框将为您提供所需的结果。 (如果我清楚地理解你的问题)。我假设您不需要显示任何关于空文本框的内容。