excel - 用户输入后,我已经自动填充了 2 个其他文本框,如何阻止我的宏在其他框上运行搜索?
问题描述
我有 3 个文本框,当您将数据输入任何一个文本框时,其他 2 个将填充。
代码很长,所以我只是在每一行代码中添加了它的作用
Private Sub tbAC_AfterUpdate()
'Declarations
textbox 1 = tbAC
textbox 2 = tbAN
textbox 3 = tbIC
If tbAC is Nothing Then
tbAC = ""
Elseif tbAC.TextLength > 0 Then
'Find tbAC in column AGC
Set MCodef = wsa.Columns(AGC).Find(what:=tbAC, LookIn:=xlValues, Lookat:=xlPart)
If MCodef is Nothing Then
Msgbox ("Invalid Code")
Else
Mcoder = Mcodef.Row
tbAN = wsa.Range(AGN & Mcoder).Value
tbIC = wsa.Range(AIC & Mcoder).Value
End if
End If
End Sub
'It's pretty much the same if you fill in tbAN or tbIC
Private Sub tbAN_AfterUpdate()
End Sub
Private Sub tbIC_AfterUpdate()
End Sub
鉴于 tbAN 中的用户输入,我只希望 excel 运行 sub tbAN_AfterUpdate 而不是其他的。任何帮助将不胜感激,在此先感谢!
解决方案
如果您有通过在文本框中输入数据来触发的代码,但不希望在 VBA 中使用备用函数时执行该代码,您可以使用:
Application.EnableEvents = False
因此,如果您正在输入 TextBox1 并希望在输入 TextBox1 时更新 TextBox2,请将其放入 TextBox1 的代码中。您将在代码首次初始化时使用它,但您需要记住在代码末尾或代码终止之前(例如通过 Exit Sub 或其他强制命令)将其反转为一次 EnableEvents = False,无代码将触发而不将其设置为:
Application.EnableEvents = True
推荐阅读
- c++ - 如果在链接时未解析,是否保证将零初始化的弱符号
- android - android.view.InflationException: Binary XML line #11: Error inflating class com.shuhart.stepview.StepView
- vba - 使用 vba 从一个 Word 文档中选择一系列文本并复制到另一个文档的末尾并保留格式
- r - R中的直方图(ggplot)-binwidth不起作用
- ios - 当我以编程方式创建手势识别器时,为什么它不工作?
- maven-2 - 我想用 maven 构建 AEM 项目,但出现错误
- apache - 301重定向子域中的所有子文件夹
- esp32 - 为 ESP32 实现 Wi-Fi Direct
- c# - 包含在实体框架中的子查询
- node.js - 猫鼬:ValidatorError:路径是必需的