我想禁用 VBA 警报通知“数据已经在这里”。
我尝试了以下解决方案:
禁用 VBA 警报 https://www.youtube.com/watch?v=qkQcYl3Gquc https://www.excelmadeeasy.com/excel-vba-turn-off-alerts.php
这使我采取了以下方法:
Private Sub DocumentIDTextBox1_Change()
Application.AlertBeforeOverwriting = False
Application.DisplayAlerts = True
Range("AA22").Value = " Document: "
Range("AA22").Font.Bold = True
Range("AB22").Value = DocumentIDTextBox1.Value
Range("AB22").TextToColumns Destination:=Range("AC22"), DataType:=xlDelimited,
Other:=True, OtherChar:="-"
End Sub
但警报不断出现。
有什么办法可以关掉它吗?
恐怕您无法抑制此警告,因为
TextToColumn
尝试返回的单元格中存在值。 Excel 会对此方面发出警告,并要求您接受才能覆盖。
但是您可以在使用之前清除计算出的必要细胞内容
TextToColumn
...
请尝试下一个改编的代码:
Sub supressWarning()
Dim cellRng As Range: Set cellRng = Range("AA22")
With cellRng
.value = " Document: "
.Font.Bold = True
.Offset(, 1).value = DocumentIDTextBox1.Value 'text separated by "-"
.Offset(, 2).Resize(, UBound(Split(.Offset(, 1).value, "-")) + 1).Clear
.Offset(, 1).TextToColumns Destination:=.Offset(, 2), DataType:=xlDelimited, Other:=True, OtherChar:="-"
End With
End Sub
这解决了实际问题,但如果立即以编程方式写入相应的文本框值,则不会打扰您。否则,在添加到文本框值/文本的每个字符之后运行事件代码可能会很烦人。
这样的话,也许
AfterUpdate
活动应该更合适,我想……