2017-10-17 91 views
0

我已經創建了一個宏來索引匹配兩個工作表之間的某些值。但是,即使索引匹配工作,它只打印相同的結果..我提供了這部分代碼與索引匹配順序。INDEX MATCH結果始終是相同的

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 
+1

匹配'「SAPBW_DOWNLOAD」!AD2'將始終是相同的 –

回答

3

你不需要循環的單元格,爲什麼不使用這個?

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

非常感謝!你知道我可以在這行代碼中添加一個.NumberFormat = 0#嗎? –

+1

@PericlesFaliagas不客氣!是的,你可以在插入公式後添加一個數字格式... ws1.Range(「AE2:AE」&lastrow3).NumberFormat =「0.00」。根據您的選擇更改數字格式。 – sktneer

2

您正在所有單元格中打印相同的公式。我想你可能想要這樣的東西:

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 
+0

或僅填寫下來也許??? –

+0

完美!我會在5分鐘內接受答案 –

+1

@sktneer有更好的答案。 –