对此可能有一个简单的解决方案,但这使我难以理解。
我有一个文本框(名称= CFMon),它引用一个月文本框。用户将提交所有月份的值,但是他们选择用于计算的关键月份。我需要使用他们选择的关键月份从相应的月份文本框中获取值(每个月份分别命名为mon1,mon2等)
当不使用VBA时,我将简单地使用间接函数来评估所有字符串。
test = Forms![Form]![CFMon] & ".value"
这完全可以完成预期的工作,并且只需重新输入文本字符串
我希望评估参考并返回适当的月份值。例如。用户选择CFMon = Mon3,该值将返回用户在Mon3(3月)文本框中输入的值
答案 0 :(得分:4)
您可以从Controls集合中获取控件,例如:
test = Forms("Your Form Name").Controls(Forms![Form]![CFMon]).Value
或者,您可以使用eval
函数,但我建议您这样做:
test = eval("Forms![Your Form Name]![" & Forms![Form]![CFMon] & "].Value")