从另一张纸上获取相应的数据

时间:2014-02-19 13:32:27

标签: excel vba excel-vba

我很擅长使用excel并且不擅长VB,并且找不到解决方法的方法: 我有一张包含有关文章的数据和另一张仅包含文章标题及其引用次数的表格。

例如,第一张工作表包含以下列中的数据:

First Author    Second Author   Other Authors   Publication Year    Title   Published In    More Info

和其中的第二个:

Title      Count

我想将第一张纸上的所有数据复制到第二张纸上的相应行(基于文章标题)。某些标题可能在第一张纸上出现两次,但只应复制一次到第二张。此外,如果从第一张到第二张的所有行都会被突出显示,以便我可以看到是否有任何错误,那就太好了。

欢迎使用VBA解决方案。

2 个答案:

答案 0 :(得分:2)

不需要VBA。这是一个简单的INDEX-MATCH组合。

设置向上:

<强> Sheet 1中:

enter image description here

<强> Sheet 2中:

enter image description here

输入以下公式给Sheet2!C2,向下和向右拖动:

=INDEX(Sheet1!$A:$G,MATCH(Sheet2!$A2,Sheet1!$E:$E,0),MATCH(Sheet2!C$1,Sheet1!$A$1:$G$1,0))

<强>结果:

enter image description here

如果有帮助,请告诉我们。

答案 1 :(得分:0)

下面的代码将为您提供如何匹配单元格的建议。假设你在sheet1的第10列和sheet2的第1列中有标题

dim i as integer
dim j as integer
for i = 1 to 'number of rows in sheet1
    for j = 1 to 'number of rows in sheet2
        if sheet1.cells(i, 1) = sheet2.cells(j, 1) then
            'do what ever you want with the matching records
        end if
    next j
next i