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列人数不固定,有没有简单好用的方法?
展开
 我来答
avel
2013-09-30 · TA获得超过177个赞
知道答主
回答量:122
采纳率:0%
帮助的人:81.5万
展开全部
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列是最终想要的值。
请帮忙写个宏来实现,多谢!
追答

那试试这个好了。

骑云1536
2013-09-30 · TA获得超过3373个赞
知道大有可为答主
回答量:2717
采纳率:50%
帮助的人:3032万
展开全部
你这个比较复杂,可以使用下面的方法来完成。
1、使用“分列”功能,选择的分列符号为“;”
2、将新的b列与c列对换
3、将c、d列数据移动到a、b列数据下面
4、使用删除重复项功能删除多余的数据。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
笑一笑说一说
科技发烧友

2013-09-30 · 职场办公软件基础应用
笑一笑说一说
采纳数:16868 获赞数:33791

向TA提问 私信TA
展开全部
将B列剪切 粘贴到A列
选中A列 分列 以;为分隔符号 完成
然后将人名列 转置
再将邮箱列 转置
将人名和邮箱调整对应。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式