これはあなたのために働くかもしれません...最初に新しいワークブックでこのマクロを実行してください:
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ます。また、ワークブックをアドインとして保存して、どのワークブックからでも関数にアクセスできるようにすることもできます。