比较2个Excel工作表并返回数据

时间:2016-02-12 09:50:47

标签: excel vba excel-vba

我正在尝试比较两个Excel工作表,Sheet1列O到Sheet2列A:M,如果找到匹配,它将复制工作表2“匹配数据的向下单元格”(即匹配数据A3,复制A4)然后粘贴到Sheet 1列R.我(非常)是VBA和Macros的新手,所以我不知道如何做到这一点。提前谢谢!

在O列的表1中 - 数据是USD,JPY,TWD等。在表2列A到M中,指定每种货币的汇率。如果表1列O数据是美元,它将在表2中搜索匹配的“USD”;如果单元格A3的数据是美元,则汇率在单元格A4中,将被复制并粘贴到与美元行对应的表格1的列R中。

所以我正在处理的事情是这样的:

Before

这是我在宏

之后寻找的东西

After

由于Sheet 1的单元格O1与Sheet 2的单元格A3相匹配,我希望它返回Sheet 2的单元格A4的值并将其粘贴到Sheet 1的单元格R1的相应行。

如果这有意义,或者您需要进一步澄清,请告诉我。 谢谢!

1 个答案:

答案 0 :(得分:0)

您需要的大多数代码都可以使用宏录制器自行管理:

  1. 开始录制新的宏
  2. 选择单元格O1
  3. 复制所选单元格(按RMB或ctrl + C)
  4. 转到Sheet2
  5. 用鼠标
  6. 选择数据(A3:M7)
  7. 按ctrl + F打开“查找”窗口
  8. 粘贴复制的单元格的值
  9. 按Enter键。应选择具有搜索值的单元格
  10. 按向下箭头将选择的单元格向下移动
  11. 从所选单元格复制值
  12. 转到Sheet1
  13. 按向右箭头移至列R
  14. 粘贴复制的值
  15. 停止录制宏
  16. 之后,您需要找到如何使用^([0-9]|[0-9][0-9]|[0-9][0-9][0-2])$ 循环并将其添加到您的代码中。祝你好运!