我正在 Excel 中构建一个宏来针对一组数据运行规则并输出每一行是否通过规则。我希望能够在不更改宏的情况下添加、删除或更改规则。因此,我有一个 DATA 工作表和一个 RULES 工作表,宏生成 OUTPUT 工作表,然后填充它。
设置规则,以便在不同的行上枚举每个不同的规则。为此,我需要能够在 RULES 中输入与规则相关的实际 VBA 代码,然后我需要让宏查看 RULES 上的该列并执行单元格中的代码。
我的设置的简化示例-
- DATA 有:ID、Dividend1、Dividend2、Divisor。DATA 上有 n 行。
- DATA 上的一行示例可能是 ID="123"、Dividend1=5、Dividend2=7、Divisor=35。
- 规则有:名称、公式、阈值。为简单起见,只有 .
- 让我们设置为 Name="Example", Formula=[see below], Threshold="0.15" (阈值用于宏中的条件格式,在本例中未使用。)
我将使用公式的伪代码只是为了消除到目前为止解释我的宏的一些不相关细节的需要。RULES.Formula 应包含一行 VBA 代码,该代码执行-
If CurrentDATARow.Dividend1 = Empty Then
CurrentDATARow.Dividend2 / CurrentDATARow.Divisor
Else
CurrentDATARow.Dividend1 / CurrentDATARow.Divisor
End If
所以,所有这些解释只是为了给这个问题提供上下文:我可以在宏的 VBA 中做些什么来让它读取 RULES.Formula 的内容并让它执行与宏的其余部分内联的代码?