Excel - 将索引匹配公式更改为 VBA 操作
Excel - Changing Index-Match Formula to a VBA Action
我在 Excel VBA 中使用索引匹配公式从数据库中查找工具的部件号和描述。这是一个符合条件的索引匹配公式。首先在某个数组中查找机器工具类型的匹配项,然后将其与某个数组中的配置进行匹配。
我的问题是我想更改为查找方式,因为使用公式我写了特定范围并且我希望它是灵活的,这样如果我在数据库中添加一个新行我就不需要更改代码.数据库是 table 名称 "Illuminators".
这是我之前使用的条件公式,正如您所见,有一个单元格引用,如果我将新工具添加到数组下的数据库 table,它不会查找它在那里。
Selection.FormulaArray = "=INDEX(DB!R2C1:R21C7,MATCH(1,(DB_Illumiators!R2C1:R21C1=RC[1])*(DB_Illumiators!R2C2:R21C2=RC[2]),0),4)"
我在循环中使用主 sheet 中的公式,并在第二张图片中使用数据库工作 sheet 中的公式:
有帮助的人我会感激
拉斐尔
将R21C7
、R21C1
和R21C2
更改为INDEX(DB!C7, MATCH("zzz", DB!C1))
、INDEX(DB!C1, MATCH("zzz", DB!C1))
和INDEX(DB!C2, MATCH("zzz", DB!C1))
。这些将根据最后一个文本值动态调整终止单元格;在 DB!A:A.
Selection.FormulaArray = _
"=INDEX(DB!R2C1:INDEX(DB!C7, MATCH(""zzz"", DB!C1)), MATCH(1, (DB_Illumiators!R2C1:INDEX(DB!C1, MATCH(""zzz"", DB!C1))=RC[1])*(DB_Illumiators!R2C2:INDEX(DB!C2, MATCH(""zzz"", DB!C1))=RC[2]), 0), 4)"
我在 Excel VBA 中使用索引匹配公式从数据库中查找工具的部件号和描述。这是一个符合条件的索引匹配公式。首先在某个数组中查找机器工具类型的匹配项,然后将其与某个数组中的配置进行匹配。
我的问题是我想更改为查找方式,因为使用公式我写了特定范围并且我希望它是灵活的,这样如果我在数据库中添加一个新行我就不需要更改代码.数据库是 table 名称 "Illuminators".
这是我之前使用的条件公式,正如您所见,有一个单元格引用,如果我将新工具添加到数组下的数据库 table,它不会查找它在那里。
Selection.FormulaArray = "=INDEX(DB!R2C1:R21C7,MATCH(1,(DB_Illumiators!R2C1:R21C1=RC[1])*(DB_Illumiators!R2C2:R21C2=RC[2]),0),4)"
我在循环中使用主 sheet 中的公式,并在第二张图片中使用数据库工作 sheet 中的公式:
有帮助的人我会感激
拉斐尔
将R21C7
、R21C1
和R21C2
更改为INDEX(DB!C7, MATCH("zzz", DB!C1))
、INDEX(DB!C1, MATCH("zzz", DB!C1))
和INDEX(DB!C2, MATCH("zzz", DB!C1))
。这些将根据最后一个文本值动态调整终止单元格;在 DB!A:A.
Selection.FormulaArray = _
"=INDEX(DB!R2C1:INDEX(DB!C7, MATCH(""zzz"", DB!C1)), MATCH(1, (DB_Illumiators!R2C1:INDEX(DB!C1, MATCH(""zzz"", DB!C1))=RC[1])*(DB_Illumiators!R2C2:INDEX(DB!C2, MATCH(""zzz"", DB!C1))=RC[2]), 0), 4)"