Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA代码,用于从电子邮件格式firstname中提取名字和姓氏。lastname@email.com_Excel_Vba - Fatal编程技术网

Excel VBA代码,用于从电子邮件格式firstname中提取名字和姓氏。lastname@email.com

Excel VBA代码,用于从电子邮件格式firstname中提取名字和姓氏。lastname@email.com,excel,vba,Excel,Vba,我想创建一个vba代码,从电子邮件格式firstname中提取名字和姓氏。lastname@email.com 下面的公式可以工作,但我希望它们作为vba代码,以便我可以使用它作为我设置的调用模块列表的一部分 名字 =左(左(A2,FIND(“.”,A2)-1),FIND(“@”,A2)-1) 姓 =左(右(A2,LEN(A2)-查找(“.”,A2)),查找(“@”),右(A2,LEN(A2)-查找(“.”,A2))-1) 名字从B2列开始,姓氏从C2列开始 谢谢 试试这个 Sub Extrac

我想创建一个vba代码,从电子邮件格式firstname中提取名字和姓氏。lastname@email.com

下面的公式可以工作,但我希望它们作为vba代码,以便我可以使用它作为我设置的调用模块列表的一部分

名字 =左(左(A2,FIND(“.”,A2)-1),FIND(“@”,A2)-1)

姓 =左(右(A2,LEN(A2)-查找(“.”,A2)),查找(“@”),右(A2,LEN(A2)-查找(“.”,A2))-1)

名字从B2列开始,姓氏从C2列开始

谢谢

试试这个

Sub ExtractNames()
      Dim Cell As Range, Names() As String
      Application.ScreenUpdating = False
      For Each Cell In Range("A1", Range("A" & Rows.Count).End(xlUp))
        Names = Split(Split(Cell, "@")(0) & ".", ".")
        Cell.Offset(, 1).Resize(, 2) = Names
      Next
      Columns("B:C").AutoFit
      Application.ScreenUpdating = True

End Sub

作为用户定义的函数

选项显式
函数GetName(s为字符串,i为整数)为字符串
Dim-ar作为变体
ar=拆分(左(s,仪表1,s,“@”)-1,“)
如果i>0,则i=UBound(ar)'允许中间名
GetName=ar(i)
端函数
子测试()
尺寸i,ws:Set ws=ActiveSheet
对于i=2到10
ws.Range(“B”和i.FormulaR1C1=“=GetName(RC[-1],0)”“0=firstname
ws.Range(“C”&i.FormulaR1C1=“=GetName(RC[-2],1)””1=lastname
下一个
端接头

firstName=Split(“firstName”)。lastname@email.com“,”)(0)
lastName=split(split(“firstname”)。lastname@email.com“,”)(1),“@”)(0)
这真是一种享受!非常感谢。当有人回答了你的问题,然后接受它作为答案。很高兴我能帮助@ExcelvbaNovice