VBA比较不同excel文件中的列,然后进行复制,编辑

时间:2014-04-17 01:35:51

标签: excel vba

我是VBA的新手,希望得到以下帮助。顺便说一下,如果和我的问题有相同的情况,我一直在搜索以前的帖子,但我找不到运气。因此,如果我的问题已经在不同的帖子中得到解决,您是否可以指出链接。

这就是问题所在:
我有两个不同的excel文件,其中一个文件有Original Sheet(3列),另一个文件有Updated Sheet(2列)。我想将Original的第二列与Updated的第一列进行比较 这是一个棘手的部分,如果Updated具有与Original中相同的值,则宏将搜索Updated的整个第1列。如果有,它将使用Original中写入的内容更改Updated第2列的相应值。如果没有,则会将差异添加到{{1}}的结尾部分。

以下是此示例:

原始

1   AAAA   1111
2   BBBB   2222
3   CCCC   3333
4   DDDD   4444

更新(在宏之前)

AAAA 1111
BBBB 2222
DDDD 5555

更新(宏观之后)

AAAA 1111
BBBB 2222
DDDD 4444
CCCC 3333   

希望我能详细解释一下。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

你应该:

  1. 对于Original中的每个单元格
  2. ... Found = false
  3. ...更新
  4. 中的每个单元格
  5. ........如果OrigCell = UpdCell则UpdValue = OrigValue
  6. ........ set Found = true
  7. ...下一个UpdCell
  8. ...如果Found = false则
  9. ........追加OrigCell
  10. ........扩展更新的范围
  11. 下一个OrigCell
  12. 如果您在原始文件中重复了相同的值(比如您有两次AAA),第9行将帮助更新最新的AAA值,并避免在更新的文件中添加两次相同的行AAA。 我希望这有帮助...