2016-09-21 64 views
0

我是的新手,我有两个文本更新列&我想查找两列的联合。Excel VBA:找到两个表的联合

对于实例

+---------+---------+ 
| ColumnA | ColumnB | 
+---------+---------+ 
| ABC | F | 
| DE | F | 
| F  | AB | 
| DBCA | CDE | 
| E  |   | 
+---------+---------+ 

我想写的结果在新的一列columnC顺序无所谓

+---------+ 
| ColumnC | 
+---------+ 
| ABC | 
| F  | 
| DE | 
| DBCA | 
| E  | 
| AB | 
| CDE | 
+---------+ 

如何制定呢?谢谢。

+0

这里是一个可能的解决问题的方法,它不需要VBA:https://blog.jamesbayley.com/ 2013/03/14/create-the-union-of-two-tables-in-excel/ – Ralph

回答

2

编辑:增加了去除重复值

的尝试这个

Sub main() 
    With Worksheets("Columns") '<--| change "Columns" to your actual worksheet name 
     With .Range("A1", .Range("A1").End(xlDown)) 
      .Parent.Range("C1").Resize(.Rows.Count).Value = .Value 
     End With 
     With .Range("B1", .Range("B1").End(xlDown)) 
      .Parent.Range("C1").End(xlDown).Offset(1).Resize(.Rows.Count).Value = .Value 
     End With 
     .Range("C1", .Range("C1").End(xlDown)).RemoveDuplicates Array(1) 
    End With 
End Sub 
+0

@Ralph:你对独特的价值观是正确的,我没有注意到我在第一次(也是太快)阅读OP的问题。我在最后一列C中添加了一个'RemoveDuplicates()'方法,用于“范围 – user3598756

+0

简洁而简短!喜欢它。 *(+ 1)* – Ralph

+0

是的,我认为我的情况是联盟。 –