INDEX MATCH结果总是相同的

我已经创build了一个macros来索引匹配两个表之间的一些值。但是,即使索引匹配的作品,它只打印相同的结果..我提供的索引匹配顺序的这部分代码。

For Each cell2 In ws1.Range("AE2:AE" & lastrow3) cell2.Formula = "=INDEX('Map'!H:H,MATCH('SAPBW_DOWNLOAD'!AD2,'Map'!G:G,FALSE))" Next cell2 

你不需要循环的单元格,为什么不使用这个?

 ws1.Range("AE2:AE" & lastrow3).Formula = "=INDEX('Map'!H:H,MATCH('SAPBW_DOWNLOAD'!AD2,'Map'!G:G,FALSE))" 

您正在所有单元格中打印相同的公式。 我想你可能想要这样的东西:

 For Each cell2 In ws1.Range("AE2:AE" & lastrow3) cell2.Formula = "=INDEX('Map'!H:H,MATCH('SAPBW_DOWNLOAD'!AD" & cell2.Row & ",'Map'!G:G,FALSE))" Next cell2