我有一个导出的Outlook联系人列表,其中充满了大约1800封电子邮件。一列(Col A)中的电子邮件字段仅填充了大约一半的联系人,另一列(列B)用于“显示名称”,其中包含其他联系人的电子邮件地址。但是,“显示名称”列中除了包含电子邮件地址外,还包含其他数据,所以我想避免覆盖现有电子邮件地址A.将填充的列复制到同一行另一列中的空字段中
所以,我想找到一种方法来填充只有Col A的数据来自Col B的空场。任何帮助将不胜感激!
我有一个导出的Outlook联系人列表,其中充满了大约1800封电子邮件。一列(Col A)中的电子邮件字段仅填充了大约一半的联系人,另一列(列B)用于“显示名称”,其中包含其他联系人的电子邮件地址。但是,“显示名称”列中除了包含电子邮件地址外,还包含其他数据,所以我想避免覆盖现有电子邮件地址A.将填充的列复制到同一行另一列中的空字段中
所以,我想找到一种方法来填充只有Col A的数据来自Col B的空场。任何帮助将不胜感激!
如果你试图把一切从上校B插入空柱A,那么你可以在宏中使用此VBA代码:
Sub macro1()
Dim theSheet As Worksheet
Dim theRange As Range
Dim emailLocation As Integer
Dim output As String
Set theSheet = Sheets("Sheet1")
Set theRange = Range("A1:A" & theSheet.UsedRange.Rows.Count)
For Each theCell In theRange
If theCell = "" Then
emailLocation = InStr(1, theCell.Offset(0, 1), "(")
output = Mid(theCell.Offset(0, 1), emailLocation)
theCell.Value = output
End If
Next
End Sub
这个宏应该工作无论多么数据片的许多行包含
感谢Mike!这是钱! – user1712390
@ user1712390 welcome!don' t忘记选择一个问题的答案,并很高兴我可以帮助:) –
在第三列,把这段代码....
=IF(A1 <> "",A1,B1)
然后,它适用于所有1800行。
+ +1为一个好的简洁和易于使用的解决方案:) –
Excel似乎不符合双引号,并产生错误,当我尝试使用公式。 ( – user1712390
@ user1712390,'= IF(A1 <>“”,A1,B1)'是你应该使用的,分号不正确 –
你也可以使用嵌套的if语句中的ISBLANK功能,并在第三列像这样串联的两列:= CONCATENATE(IF(ISBLANK(A2),B2,A2),B2)
是y你试图把所有在Col.B细胞中的东西都放入空的Col.A细胞中?或者将Col.B单元格中的特定数据放入空的Col.A单元格中? –
理想情况下,我想从Col. B中取出电子邮件地址。目前Col. B单元格看起来像“名字姓氏([email protected])”。 – user1712390
我编辑了我的foreach循环,只从B列中的字符串中获取电子邮件地址。它专门搜索“(”以知道从哪里开始 –