Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA比较不同excel文件中的列,然后复制、编辑_Excel_Vba - Fatal编程技术网

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

VBA比较不同excel文件中的列,然后复制、编辑,excel,vba,Excel,Vba,我是VBA的新手,希望在以下方面得到帮助。顺便说一句,我一直在搜索以前的帖子,如果有相同的场景作为我的问题,但我没有运气找到一个。因此,如果我的问题已经在不同的帖子中得到了解决,请你指出链接 问题是: 我有两个不同的excel文件,一个文件有原始工作表(3列),另一个文件有更新工作表(2列)。我想比较原始版的第二列与更新版的第一列 这里是棘手的部分,宏将搜索更新的的整个第一列,如果它的值与原始的中的值相同。如果有,它将使用原始中写入的内容更改更新的第二列的相应值。如果没有,则会将差异添加到更新的

我是VBA的新手,希望在以下方面得到帮助。顺便说一句,我一直在搜索以前的帖子,如果有相同的场景作为我的问题,但我没有运气找到一个。因此,如果我的问题已经在不同的帖子中得到了解决,请你指出链接

问题是:
我有两个不同的excel文件,一个文件有
原始工作表(3列),另一个文件有
更新工作表(2列)。我想比较
原始版的第二列
更新版的第一列

这里是棘手的部分,宏将搜索更新的
的整个第一列,如果它的值与原始的
中的值相同。如果有,它将使用原始
中写入的内容更改
更新的
第二列的相应值。如果没有,则会将差异添加到更新的
的结尾部分

以下是一个示例:

原件:

1 AAAA 1111 2 BBBB 2222 3 CCCC 3333 4 DDDD 4444 1 AAAA 1111 2 BB 2222 3中交3333 4 DDDD 4444 更新(宏之前)

AAAA 1111 BBBB2222 DDDD 5555 更新(宏后)

AAAA 1111 BBBB2222 DDDD 4444 中交3333 希望我能详细解释一下。任何帮助都将不胜感激。

您应该:

  • 对于原始格式中的每个单元格
  • …发现=错误
  • …对于更新中的每个单元格
  • ……如果OrigCell=UpdCell,则UpdValue=OrigValue
  • ……设置已找到=真
  • …下一个UpdCell
  • …如果find=false,则
  • ……附加OrigCell
  • ……扩大更新的范围
  • 下一个OrigCell
  • 如果您在原始文件中重复了相同的值(假设您有AAA两次),那么第9行将有助于使用最新的AAA值更新AAA值,并避免在更新的文件中添加两次相同的AAA行。
    我希望这有助于……

    我想你已经解释得很好了,但是你试图解决什么问题呢? AAAA 1111 BBBB 2222 DDDD 5555 AAAA 1111 BBBB 2222 DDDD 4444 CCCC 3333