【发布时间】:2013-08-30 01:05:39
【问题描述】:
尝试在 VBA 中编译多标准索引/匹配代码时遇到问题。这可能很简单 - 但我对 VBA 还很陌生,我在这里发现的任何东西都没有。
示例:
我在指定范围内有大量数据:Sheets("CustomerAccounts").Range(CustomerSheetRange)) - 我需要 VBA 通过检查三个条件从标题为“值”的列返回数据:客户 = X、类型 = 外部、起源国 = 阿联酋(列在原始电子表格)
标准存储在宏用户预先设置的单独变量中。
Customer | Type | Origin | Destination | Values
X | Internal | UAE | SA | Value 1
Y | Internal | UAE | SA | Value 2
X | External | UAE | SA | Value 3
X | External | ZA | UAE | Value 4
目前我有以下(相当庞大的)代码,它使用一个标准 - OriginCountry 变量来查找值。 代码在预先指定的列 - OriginCountryColumn 中搜索它。
ResultString = Application.Index(Sheets("CustomerAccounts").Range(CustomerSheetRange), Application.Match(OriginCountry, Sheets("CustomerAccounts").Range(OriginCountryColumn), 0), Application.Match("Values", Sheets("CustomerAccounts").Range(TitleRowCust), 0))
我想修改代码以匹配类型和客户。 是否可以扩展上述 Index/Matxh 函数 - 或者我应该使用不同的方法?
感谢任何建议。
【问题讨论】:
-
为什么不使用数据透视表或自动过滤器?