3个回答
展开全部
Sub 根据A列条件挑唯一数据()
Set d = CreateObject("Scripting.dictionary")
end1 = Sheet1.Columns(1).Find("*", , , , , xlPrevious).Row
end2 = Sheet2.Columns(4).Find("*", , , , , xlPrevious).Row
条件 = Sheet1.Range("a2:a" & end1)
数据 = Sheet2.UsedRange
列 = Sheet2.UsedRange.Columns.Count
For Each Rng In 条件
k = k + 1
For i = 1 To UBound(数据) '遍历行
If Rng = 数据(i, 1) Then
For j = 2 To 列 '遍历列
If Not 数据(i, j) = "" Then '不是空才添加字典
d(数据(i, j)) = 数据(i, j)
End If
Next j
End If
Next i
If Not d.Count = 0 Then
Sheet1.Cells(k + 1, 2).Resize(1, d.Count) = d.items
d.RemoveAll
End If
Next Rng
End Sub
注意:保证两个sheet名称正确(sheet1、sheet2)
如果不会用代码,给我一个邮箱,发给你原文件。
追问
您这是把a对应的数据放到多列中了,我是想放到多行中
追答
一行放一个唯一值?
a 123
a 312
a 213
........
这样?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询