这可能对您有用...首先在新工作簿中运行此宏:
Sub AddMacroFunctions()
Sheets.Add Type:=xlExcel4MacroSheet
[B2] = "=ARGUMENT(""Name"",2)"
[B3] = "=ARGUMENT(""Value"",95)"
[B4] = "=RETURN(SET.NAME(Name,Value))"
[B6] = "=RESULT(95)"
[B7] = "=ARGUMENT(""Value"",95)"
[B8] = "=RETURN(EVALUATE(Value))"
Names.Add "Put", Range("B2"), , xlFunction
Names.Add "Get", Range("B6"), , xlFunction
ActiveSheet.Visible = False
End Sub
...现在对于给定的示例,您可以在活动表上输入这些公式:
A1: =AND(Put("data1",123),Put("data2","hello"),Put("data3",MMULT({1;2},{3,4})))
B1: =IF(A1,Get("data1"))
数据将存储在使用宏创建的宏表中。如果更改 中的公式中A1
的值,则 中的值会B1
自动更新。
这也可以通过将数据存储在自定义名称中来适应 putstruct / getstruct 方法,mystruct.data1
并且可以将工作簿保存为插件,以便可以从任何工作簿访问这些函数。