存储用户input以供稍后检索
我有一个电子表格,用户在input页面上input各种细节,然后按下一个计算button来获得他们想要的。 input是string,数字和date。
我想为用户保存每次计算的input,以便日后可以inputcalc id,而不必inputinput。
一个简单的方法,我想这样做是复制input时,计算运行到另一个工作表中的input与钙的列列中的input。 然后,将未来的input保存在一个单独的列中,并查找正确的列以在稍后的date检索input。
我读过这个问题 – 在VBA中使用类有什么好处? 并认为可以创build一个名为CalculationInputs的类,将所有细节存储在一个对象中。 这可能是我所需要的矫枉过正,但我想问问别人如何解决这个简单的任务。
您可以使用Names
来定义工作簿或工作表范围内的variables。 通常用于定义范围,更具体地说是dynamic范围,但也可以用来存储静态/常量值。
要手动创buildName
,请从公式function区名称pipe理器中:
点击“新build”button,然后给它一个有意义的名字:
确保在“引用到”字段中input=""
,如果保留空白,名称将不会被创build。
然后,当您按“确定”或任何时候转到“名称pipe理器”时,您将看到工作簿中所有可用Names
的列表。
您可以通过Names
pipe理器进行编辑,这可能很乏味,或者您可以使用VBA和input来控制它们,例如:
Sub Test() ActiveWorkbook.Names("MyAddress").RefersTo = "734 Evergreen Terrace" End Sub
你可以做这样的事情来获取价值,我们可以使用其他macros或用户公司代码来给Name
分配值。
Activeworkbook.Names("MyAddress").RefersTo = _ Application.Inputbox("please enter your address")
等等。
如果你运行这个,然后检查名称pipe理器,你会看到值已经更新:
在VBE中,你可以引用这样的名字:
Debug.Print ActiveWorkbook.Names("MyAddress").Value '# Prints in the immediate pane Range("A1") = ActiveWorkbook.Names("MyAddress").Value
这些也可以从工作表中访问(读取),如: