2013-02-10 82 views
1

我有一个包含许多行ID的工作表。Excel VBA - 摆脱特定列中的重复值

我想知道编写VBA过程的最佳方法,该过程将查看一列中值的范围,并用仅显示该范围内的唯一值来替换整个范围。因此,一列1000个ID可能会减少到一列150个唯一ID。我不希望此过程影响工作表中其他列中的数据。

所以,说初始列A是:

*IDs* 
ID12 
ID12 
ID34 
ID56 
ID78 
ID78 
ID78 

我想它有一个新的A列更换色谱柱:

*IDs* 
ID12 
ID34 
ID56 
ID78 

太感谢您了。

注:我知道如何做到这一点手动几种不同的方式,但我想通过循环,并在纸张上每一个非空列做这个程序,而列不同长度的。

回答

1

要达到你想要什么,请执行以下操作:

  1. 选择要删除的愚弄整列。
  2. Go丝带Data > Remove Duplicates
  3. 设置My data has headers(根据您的输入)。

你完成了。如果你想在VBA中使用这些步骤 - 在开始之前打开宏记录器(Excel窗口的左下角)。

+0

嗨,谢谢,但我明白如何手动执行此操作:/。我正尝试在VBA中编写,但是如果我想要对多个不同长度的列执行相同的过程,则使用宏记录器不会完成这项工作。 – user1893148 2013-02-10 20:30:18

+0

@ user1893148列大小无关紧要,即使范围可能会更改。宏记录代码是结束解决方案的良好开端 - 您需要的仅仅是添加循环。然而,如果你倾向于复杂而不是简化,或者这对于VBA练习来说 - 选择是你的朋友,祝你好运! – 2013-02-10 20:52:02