用于比较两个工作簿中的数据的宏

时间:2013-06-09 13:01:02

标签: excel vba excel-vba excel-formula

我需要一些关于我正在处理的任务的帮助

以下是我想要实现的快速背景。

  1. 我有两个工作簿,比如WB1和WB2。

  2. 在WB1中,我在B栏中有一些学生的名字,在C栏中有他们的总分。这些名字没有排序,也没有任何随机顺序。

  3. 在WB2中,我也有相同类型的信息,但名称总数可能更多或更少(例如在WB1中我有15名学生的数据但在WB2中我可能有13或17名学生的数据) 。但WB1是我的参考。

  4. 现在,我想要的是在名为“Result.xls”的第三个工作簿中比较学生的分数。我希望将WB1中的所有名称复制到A列中的Result.xls,并且对应于每个学生的姓名我希望B列中的“匹配”/“不匹配”字符串基于WB1中的标记是否与学生匹配这个学生在WB2中的分数。

    我希望我足够清楚。

    提前致谢。 Harpal harpal.ghai.01@gmail.com

2 个答案:

答案 0 :(得分:1)

我很欣赏您可能正在寻找VBA解决方案,但可以使用公式来完成。当然,您可以使用VBA创建公式。

IF(VLOOKUP(A2,[WB1.xlsx]Sheet1!$A$2:$B$4,2,0)=VLOOKUP(A2,[WB2.xlsx]Sheet1!$A$2:$B$5,2,0),"match","does not match")

答案 1 :(得分:0)

你可以用vba做到这一点。

你的逻辑已经是正确的,所以查找:

Dim exc as object

设置exc = createobject(“excel.application”) Exc.open yourpath

然后查找并与

进行比较

N = activeworkbook.name

i = 1

直到workbooks(n).sheets(“yoursheetname”)。cells(i,2)=“”

将不同的工作簿与if

进行比较

循环

所以,开始编码......并学习。

使用excel函数offset,index,vvlookup等也应该有一种方法。

我只是告诉你的方式。: - )

你做的工作