
Excel高手请进
A列:张三;李四怎么替换成zhangsan@sina.com;lisi@sina.com张三zhangsan@sina.com李四lisi@sina.com用公式批量替换...
A列:张三;李四 怎么替换成 zhangsan@sina.com;lisi@sina.com
张三 zhangsan@sina.com
李四 lisi@sina.com
用公式批量替换
主要是A列人数不固定,有没有简单好用的方法? 展开
张三 zhangsan@sina.com
李四 lisi@sina.com
用公式批量替换
主要是A列人数不固定,有没有简单好用的方法? 展开
3个回答
展开全部
Sub l()
Dim d As Object
Dim i As Integer, j As Integer, k As Integer
Dim jg(1 To 10000, 1 To 2), crr, drr
Set d = CreateObject("Scripting.Dictionary")
arr = Sheet1.[a1].CurrentRegion.Value
For i = 1 To UBound(arr)
If InStr(arr(i, 1), ";") Then
crr = Split(arr(i, 1), ";")
drr = Split(arr(i, 2), ";")
For j = 0 To UBound(crr)
If Not d.exists(crr(j) & drr(j)) Then
k = k + 1
jg(k, 1) = crr(j)
jg(k, 2) = drr(j)
d(crr(j) & drr(j)) = ""
End If
Next
Else
If Not d.exists(arr(i, 1) & arr(i, 2)) Then
k = k + 1
jg(k, 1) = arr(i, 1)
jg(k, 2) = arr(i, 2)
d(arr(i, 1) & arr(i, 2)) = ""
End If
End If
Next
Set d = Nothing
If k > 0 Then Sheet2.[a1].Resize(k, 2).Value = jg
End Sub
追问
我的意思是A列
中山;xxx
lxm
lxxxx;lxm
根据
中山 test1
xxx test2
lxm test3
lxxxx test4
列表,将名字替换成邮箱,B列是最终想要的值。
请帮忙写个宏来实现,多谢!
追答
那试试这个好了。
展开全部
你这个比较复杂,可以使用下面的方法来完成。
1、使用“分列”功能,选择的分列符号为“;”
2、将新的b列与c列对换
3、将c、d列数据移动到a、b列数据下面
4、使用删除重复项功能删除多余的数据。
1、使用“分列”功能,选择的分列符号为“;”
2、将新的b列与c列对换
3、将c、d列数据移动到a、b列数据下面
4、使用删除重复项功能删除多余的数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将B列剪切 粘贴到A列
选中A列 分列 以;为分隔符号 完成
然后将人名列 转置
再将邮箱列 转置
将人名和邮箱调整对应。
选中A列 分列 以;为分隔符号 完成
然后将人名列 转置
再将邮箱列 转置
将人名和邮箱调整对应。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询