如何在 VBA 中使用索引和匹配功能

How to use Index and match funtion in VBA

我想在VBA中使用以下功能。

=INDEX(Zones!$G:$S3;MATCH($A2;Zones!$C:$C2;);MATCH($B2;Zones!$G:$S;))

我用了两个 table。在 table 列 C2:C 的“数据”中,我想传输搜索结果。 任何人都可以帮助 VBA 编码吗? 谢谢!

无法从您的公式中看出您正在尝试什么,但从您的描述听起来就像您正在尝试创建一个枢轴 Table,今天您可以使用 Spill Ranges 轻松创建它。也就是说,我认为不需要 VBA。

现在我自己没有测试过,从臀部开始,VBA 替换应该是微不足道的:

public function zone(DBase as Range, Locale as String, Locales as Range, Service as String, Services as Range) as Variant
  Dim iLocale as Long
  iLocale = WorksheetFunction.Match(Locale,Locales,0)
  Dim iService as Long
  iService = WorksheetFunction.Match(Service,Services,0)
  zone = DBase(iLocale,iService)
end function

当然需要错误检查。我发现您的动机仍然很可疑 ;) 就个人而言,我不会这样做。您从其他地方导入数据的野心很可能也不会如您所愿。