arrays - 将 Match 和 Index 函数与在 VBA 中创建和填充的数组一起使用
问题描述
我在 VBA 中创建并定义了一个数组:
A_Array(2,4) As Variant (Option Base 1)
我想将第二列中的数字与特定条件进行匹配,例如,第二列中的哪一行包含数字“1”。找到匹配项后,我想使用第一列中的相应值来创建变量。当我使用索引和匹配函数时,如何指定范围,在这种情况下是 VBA 创建的数组的整个列?
Variable = Worksheet.Function.Index(A_Array, Worksheet.Function.Match(1, **?Second_ Column of A_Array?**,0),**?First Column of A_Array?**)
如何在上面的 Match 函数中指定 A_Array 的第一列,以及如何在 Index 函数中指定 A_Array 的第二列。
提前感谢您的帮助。
解决方案
只需循环行并测试,使用变体数组会很快。
Dim A_Array(2, 4) As Variant
'fill array
Dim i As Long
For i = LBound(A_Array, 1) To UBound(A_Array, 1)
If A_Array(i, 2) = 1 Then
variable = A_Array(i, 1)
Exit For
End If
Next i
推荐阅读
- python - 键错误:“日期”
- java - 当我的 IDE 只有损坏的文件历史记录时,如何恢复损坏、覆盖的 Java 源代码?
- javascript - 如何在 JavaScript(客户端)端创建页面访问计数,如 PHP 会话
- ruby-on-rails - 使用 collection_select 在 Rails 中创建多条记录
- javascript - 将 acrobat javascript 添加到 ruby 或 python 中的 pdf 文档
- powershell - 需要从命令提示符中从 xml 中提取属性值
- json - Swift - 为什么在显示数据之前从 JSON 获取数据会有空白的 TableView 延迟?
- javascript - JS数组查找值的索引
- javascript - 为移动和桌面加载不同的 JS 文件
- java - JSON 列表中的变量名称后跟对象详细信息