我有一个应用程序的工作副本,它将打开工作簿/工作表并在两者之间成功复制数据然后保存但我需要解析一些数据,因为我将其复制到另一个单元格中。
我在想......
〜创建数组 〜获取xlSourceFile.worksheets(“sheet1”)中的所有值并存储到数组中 〜解析数组提取我需要的数据(以编程方式从文本到列) 〜将数组数据写入excel工作表中的两个特定列
我要解析的数据是名字/姓氏 - 电子邮件,我希望这样做:
Joe Shmoe to go into one column // Joe Shmoes Email to another column.
我在vb.net中使用导入Microsoft.Office.Interop来处理Excel。
答案 0 :(得分:1)
请原谅格式化,我是SO的新手。这是VBA,但我相信一般逻辑会起作用。它假定电子邮件地址后面没有空格填充。它在原始组合字符串上向后搜索第一个空格,并将其标记为电子邮件地址的开头(名称末尾)。
当下一个单元格为空时,它会循环。
假设数据如下:
"名字姓氏myaddress@example.com"
For Each cell In Worksheets("Sheet1").Range("A:A")
i = i + 1
If cell = "" Then GoTo loopout
rawstring = cell.Value
'rawString = "First Name Last Name myaddress@example.com"
emailStartPosition = InStrRev(rawstring, " ")
myname = Left(rawstring, emailStartPosition)
myemail = Right(rawstring, Len(rawstring) - emailStartPosition)
Worksheets("Sheet1").Range("B" & i).Value = myname
Worksheets("Sheet1").Range("C" & i).Value = myemail
Next
loopout:
End Sub
B列将具有名称,而C列将具有电子邮件地址。