我目前有两张包含六列数据的表,两种格式都相同,只是 Sheet 1
有历史数据,而 sheet 2
有更新的数据和一些额外的行 . 两张纸都按照第二列中的内容顺序排序,然后是第四列 .
我想准备一个比较两个工作表并查看第2和第4列的宏,以确定 Sheet 2
中不在 Sheet 1
中的新行,并在 Sheet 2
中突出显示这些行 . 另外,我希望 sheet 2
中的新行以正确的顺序插入到Sheet 1中 .
例如
完成所有这一切的原因与仅将 Sheet 2
的全部内容复制到 Sheet 1
相反,是因为 sheet 1
具有超出6列的多个公式,这些公式引用了某些单元格块,并且需要保留这些引用 . 我目前必须手动插入每个新行并给定正在处理的数据量,这需要相当长的时间 . 我已经尝试调整我在互联网上找到的其他宏来执行这项任务,但它们并没有完全奏效 .
2 回答
如果从Sheet1中的数据下面的Sheet2复制数据(不包括 Headers ),随后a)删除重复项,然后b)对B列和D列进行排序,您应该获得所需的结果 .
从像这样的两张纸上的数据(出于空间考虑在一张纸上显示),
宏运行后你会有这个 .
我承认我不清楚Sheet1!B11:D11中的3000 / b是否是拼写错误或实际重复记录 . 宏确实会重现您想要的结果 .
步骤#1:识别sheet2中的行而不是sheet1中的行
使用以下公式在两个工作表中创建一个新列E:
(从第2行开始并自动将其填充到整列)
在sheet2中使用此公式创建列F.
现在,对于不在sheet1中的行,列F将为
TRUE
.接下来,您需要为
F=TRUE
添加条件格式步骤2:复制缺失的数据
使用
F=TRUE
过滤sheet2中的行将它们复制到sheet1的末尾
排序sheet1