在表格Excel之间查找并粘贴值

我在Excel 2010中有一个子部分,它应该在一个工作表中search一个值,find相应的值,并将其粘贴到主工作表中。 然后它对第二张纸也是一样的。 有两个这样的。 在第一个例子中,如果i = 6,如果它没有find列10中的第二个值(即,10是空的),那么就从第11列开始。举个例子,假设Master中的第一个值是Project 21它在第一组中search21。 如果发现它,它会在第10列中查找一个值并将其粘贴到Master中,或者在第11列中查找。然后通过Group 2的表格进行查找。 我这样做是因为我无法得到一个If语句来检查每个工作表(如果proj不在group1中,请检查group2)。 第二个是一样的,但只有一列。

它不工作,它不会抛出任何错误,我不完全确定从哪里走,因为我不太熟悉Excel中的VBA。 任何帮助或build议也许更好的方式来做到这一点将不胜感激。

For i = 6 To 6 PROJ = Worksheets("RESULTS").Cells(Row, StartColumn + 1).Value Set Found = Sheets("GROUP1").Columns(1).Find(what:=PROJ, LookIn:=xlValues, lookat:=xlWhole) If Not Found Is Nothing Then PROJRow = Found.Row End If If Sheets("GROUP1") <> "" Then Sheets("RESULTS").Cells(Row, StartColumn + i) = Sheets("GROUP1").Cells(PROJRow, 10) Else Sheets("RESULTS").Cells(Row, StartColumn + i) = Sheets("GROUP1").Cells(PROJRow, 11) End If Set Found = Sheets("GROUP2").Columns(1).Find(what:=PROJ, LookIn:=xlValues, lookat:=xlWhole) If Not Found Is Nothing Then PROJRow = Found.Row End If If Sheets("GROUP2") <> "" Then Sheets("RESULTS").Cells(Row, StartColumn + i) = Sheets("GROUP2").Cells(PROJRow, 10) Else Sheets("RESULTS").Cells(Row, StartColumn + i) = Sheets("GROUP2").Cells(PROJRow, 11) End If Next For i = 7 To 7 PROJ = Worksheets("RESULTS").Cells(Row, StartColumn + 1).Value Set Found = Sheets("GROUP1").Columns(1).Find(what:=PROJ, LookIn:=xlValues, lookat:=xlWhole) If Not Found Is Nothing Then PROJRow = Found.Row End If Sheets("RESULTS").Cells(Row, StartColumn + i) = Sheets("GROUP1").Cells(PROJRow, 17) Set Found = Sheets("GROUP2").Columns(1).Find(what:=PROJ, LookIn:=xlValues, lookat:=xlWhole) If Not Found Is Nothing Then PROJRow = Found.Row End If Sheets("RESULTS").Cells(Row, StartColumn + i) = Sheets("Group2").Cells(PROJRow, 17) Next 

你可能可以用一系列嵌套的“= IFERROR()”和“= VLOOKUP()”函数来做到这一点。 只要将它们嵌套在一起,以便每次search都失败,就会进入下一个search(或VLOOKUP)范围。