EXCEL VBA函数问题,高手来帮忙!

如图,在B1单元格,用VBA编写一个函数,或直接一个数组函数,可删除A列的重复项,在B1中生成一个数组?... 如图,在B1单元格,用VBA编写一个函数,或直接一个数组函数,可删除A列的重复项,在B1中生成一个数组? 展开
 我来答
【名臣】f2
2015-02-05 · TA获得超过1913个赞
知道大有可为答主
回答量:1594
采纳率:0%
帮助的人:1547万
展开全部
Function mcqc(rng As Range)
    Set d = CreateObject("Scripting.Dictionary")
    For Each a In rng
       d(a.Value) = ""
    Next
    mcqc = Join(d.keys, ";")
End Function

=MCQC(区域)

追问
谢谢,可以达到我的要求,但还想再请教下,如何在生成数组的每个值左右,再加上引号能?如{"1";"a";"2";"3";"b";"c";"d":}
追答

道理一样,后面修改一下就可以了

Function mcqc(rng As Range)
    Set d = CreateObject("Scripting.Dictionary")
    For Each a In rng
       d(a.Value) = ""
    Next
    mcqc = "{""" & Join(d.keys, """;""") & """}"
End Function
姓王的wy451

2015-02-05 · TA获得超过48.3万个赞
知道大有可为答主
回答量:8万
采纳率:78%
帮助的人:8976万
展开全部
在B1列中生成一个数组?能办到吗。如果B1中得到图中一样的字符串倒是不难
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
寻找天使111
2015-02-05
知道答主
回答量:32
采纳率:0%
帮助的人:15万
展开全部
Sub tests()
Dim rst As String
rst = "{" & Cells(1, 1) & ";"
i = 2
Do While Cells(i, 1) <> ""
If Len(rst) = Len(Replace(rst, Cells(i, 1), "")) Then
rst = rst & Cells(i, 1) & ";"
End If
i = i + 1
Loop
rst = Left(rst, Len(rst) - 1)
rst = rst & Cells(i, 1) & "}"
Cells(1, 2) = rst
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式