如何在Excel中使用来自单独工作表的数据填充单元格?

时间:2018-09-26 15:32:24

标签: excel vba excel-vba excel-formula

我试图匹配两个单独工作表中的2列,然后将工作表2中的数据填充到工作表1中。

我需要将A列(工作表2)与D列(工作表1)匹配。匹配后,我需要用列B(工作表2)中的数据填充列F(工作表1)。填充数据后,我也想根据当前数据更改列F(工作表1)的颜色。 Worksheet 1 Worksheet 2

2 个答案:

答案 0 :(得分:0)

将此内容放入F2的工作表1中,将工作表名称Sheet2更新为第二个工作表的名称,然后复制下来:

=VLOOKUP($D2,Sheet2!$A:$B,2,FALSE)

然后,您可以将条件格式应用于工作表1上的F列。

如果工作表1中的值可能不在工作表2中,这将处理错误:

=IFERROR(VLOOKUP($D2,Sheet2!$A:$B,2,FALSE),"Not Found!")

[已更新有关跨工作簿的其他问题]

对于另一个打开的工作簿,请使用以下内容,并将[Book2]替换为第二个工作簿的路径或一个打开的工作簿的名称:

=IFERROR(VLOOKUP($D2,[Book2]Sheet2!$A:$B,2,FALSE),"Not Found!")

还请注意,如果在编辑栏中创建公式时手动选择所有参考,则Excel将自动创建所有参考:Excel Formulas Overview on MSDN

答案 1 :(得分:0)

需要更多信息为您提供准确的代码,但这是一个好的开始

'假设每个工作表中有10行

dim i as integer
dim j as integer

for i = 1 to 10
    for j = 1 to 10 
        if sheet1.cells(i,4).value = sheet2.cells(j,1).value then
            sheet1.cells(i,6).value = sheet1.cells(j,2).value
            sheet1.cells(i,6).interior.color = vbyellow
        end if
    next j
next i

颜色也可以通过rgb函数控制,只需替换上面代码中的vbyellow即可:

例如rgb(255,204,255)将是浅粉红色