根据第一列的值选择值

时间:2013-05-19 04:41:02

标签: vba select key-value multiple-columns

我有一个类似这样的数据库:

Name    -Finding One    -Finding Two    -Finding Three

John    -Low Cost       
John    -Accessible     -Low Cost   
Michael -High Cost      -Good Quality   -Good CSR

Michael -Low Cost       -Friendly CSR   
Michael -Average Cost       
Michael -Lot of Features    -Good Quality   
Charles -Average Cost       
Bryan   -High Cost      -Friendly CSR   

正如我们所看到的,我们有同一个人在处理不同的账户并报告他们的发现。

我需要获得每个工作人员的调查结果并将它们放在不同的列中,以便我可以删除重复的值(例如,John在两个不同的帐户中找到“低成本” - 我只需要列出一次)。而且,一旦我删除了重复项,我需要将剩下的一个放在一个单元格中(作为一串文本) - 每个安装程序(不是整个集团)。

请帮忙。我是VBA的新手。

侧面注意:我开始用宏来分隔安装程序(认为在安装程序之间留一个空间有助于解决其余的问题 - 我在找到解决方案方面收效甚微)。 / p>

1 个答案:

答案 0 :(得分:0)

这是你在找什么?

Sub sample()


    Dim lastRow As Long
    lastRow = Range("A" & Rows.Count).End(xlUp).Row

    Range("A2:B" & lastRow).Copy Range("F1")
    Range("A2:A" & lastRow).Copy Range("F" & Rows.Count).End(xlUp)
    Range("C2:C" & lastRow).Copy Range("G" & Rows.Count).End(xlUp)

    Range("A2:A" & lastRow).Copy Range("F" & Rows.Count).End(xlUp)
    Range("D2:D" & lastRow).Copy Range("G" & Rows.Count).End(xlUp)


    lastRow = Range("F" & Rows.Count).End(xlUp).Row
    Range("F1:G" & lastRow).RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes

End Sub

enter image description here