【发布时间】:2022-12-23 19:39:54
【问题描述】:
我创建了一个包含大量文本框和勾选框的用户表单。初始化用户窗体时,数据将加载到文本框中,并且复选框值由工作簿选项卡之一中指定的值定义。
我写了很多重复的代码。例如,我为每个由数字填充的文本框包含了下面的代码。
Controls("ll_f_m_prior").Value = Format(Range("ll_f_m_prior_p"), "standard")
If Controls("ll_f_m_prior").Value = "n/a" Or Controls("ll_f_m_prior").Value = "" Then
Controls("ll_f_m_prior").Enabled = False
cb1.Enabled = False
End If
我有 25 多个重复代码的文本框。我正在寻找一种使用两个动态变量调用函数的方法。在上面的例子中,两个变量是 ll_f_m_prior 和 cb1。
我试过这段代码
Sub error1(var1 As String, var2 As String)
Controls(var1).Value = Format(Range(var1), "standard")
If Controls(var1).Value = "n/a" Or Controls(var1).Value = "" Then
Controls(var1).Enabled = False
x = var2 & ".Enabled"
x = False
End If
End Sub
并使用函数调用子程序:
Call error1("ll_f_m_prior_p", cb1)
【问题讨论】: