【问题标题】:INDEX MATCH result is always the sameINDEX MATCH 结果始终相同
【发布时间】:2017-10-17 11:06:22
【问题描述】:

我创建了一个宏来索引匹配两张表之间的某些值。但是,即使索引匹配有效,它也只会打印相同的结果。我正在为这部分代码提供索引匹配顺序。

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

【问题讨论】:

  • 匹配 'SAPBW_DOWNLOAD'!AD2 将始终相同

标签: vba excel indexing excel-formula


【解决方案1】:

你不需要遍历单元格,为什么不直接使用这个?

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

【讨论】:

  • 非常感谢!!你知道如何在这行代码中添加一个 .NumberFormat = 0# 吗?
  • @PericlesFaliagas 不客气!是的,您可以在插入这样的公式后添加数字格式...ws1.Range("AE2:AE" & lastrow3).NumberFormat = "0.00"。根据您的选择更改数字格式。
【解决方案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

【讨论】:

  • @sktneer 有更好的答案。
猜你喜欢
  • 2020-06-21
  • 2021-08-02
  • 2020-01-08
  • 1970-01-01
  • 1970-01-01
  • 2013-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多