我正在使用Excel中的表单从组合框中选择一个电子邮件地址,并希望拆分电子邮件地址并仅显示所选电子邮件地址中的名字。请检查以下代码:
Private Sub UserForm_Initialize()
Me.CboBugSts.List = Array("Open-Crtical", "Open-ShowStopper")
Me.CboCC.List = Array("Nandesh.kalyankar@wipro.com")
Me.CboToEmail.List = Array("firstName.LastName@Email.com")
Me.CboGrtngs.List = Array("Hi", "Dear")
TxtSubj.Value = "Bug notification logged by " & Environ("Username") & " - " & Now
End Sub
Private Sub TxtMsg_Change()
arTemp = Split(Me.CboToEmail.Text, "@")
Fname = arTemp(LBound(arTemp))
TxtMsg.Text = Me.CboGrtngs.Text & " " & Fname
End Sub
此处Me.CboToEmail.text
是用户从组合框文本中选择的值,然后我拆分电子邮件地址并将其与另一个组合框文本Me.CboGrtngs.text
连接,但它显示整个电子邮件,而不仅仅是来自电子邮件的名字。
答案 0 :(得分:0)
不确定(不是vba程序员),但由于CboToEmail
被定义为列表或数组(带有一个项目):
Me.CboToEmail.List = Array("firstName.LastName@Email.com")
你不需要在这里提取第一个元素,而不是在整个列表中调用.Text吗?
arTemp = Split(Me.CboToEmail.Text, "@")
如果没有,Me.CboToEmail.Text
的价值是什么?