【问题标题】:How to make INDEX and MATCH work with text in VBA? [closed]如何使 INDEX 和 MATCH 与 VBA 中的文本一起使用? [关闭]
【发布时间】:2018-09-03 17:48:26
【问题描述】:

我有以下代码:

ActiveCell.Offset(0, -2).FormulaArray = "=INDEX(Table1[Id Company],MATCH(1,(D$5=Table1[Client])*(" & ActiveCell.Offset(0, -1).Value & "=Table1[Id Client]),0))"

使用数字作为查询数据时效果很好。但是在使用字符串时,它没有找到任何结果。

如何让它发挥作用?

【问题讨论】:

  • 被引用的单元格中的值是什么?也许在那条线上打破执行并检查这些值会给你一些洞察力。见Debugging VBA
  • 有许多不同的值,例如:“Green Version”、“TEEN 14”、“8144”。但没有引号。谢谢你,但 Domenic 的回答足以解决这个问题。

标签: excel vba string indexing match


【解决方案1】:

对于文本值,您需要在 MATCH 中的第二个条件的条件周围添加引号...

ActiveCell.Offset(0, -2).FormulaArray = "=INDEX(Table1[Id Company],MATCH(1,(D$5=Table1[Client])*(""" & ActiveCell.Offset(0, -1).Value & """=Table1[Id Client]),0))"

【讨论】:

  • 谢谢Domenic!
猜你喜欢
  • 1970-01-01
  • 2020-04-09
  • 1970-01-01
  • 2021-04-03
  • 2019-12-25
  • 2013-11-07
  • 2013-08-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多