Vba 当我删除或清除单元格的内容时,会收到调试消息
我有一个VBA代码来大写大部分工作表,但当我删除或清除内容时,我会收到调试消息 任何帮助都将不胜感激Vba 当我删除或清除单元格的内容时,会收到调试消息,vba,excel,Vba,Excel,我有一个VBA代码来大写大部分工作表,但当我删除或清除内容时,我会收到调试消息 任何帮助都将不胜感激 Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Intersect(Target, Range("A:Z")) Is Nothing Then Target.Value = UCase(Application.Substitute(Target.Value, "
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, Range("A:Z")) Is Nothing Then
Target.Value = UCase(Application.Substitute(Target.Value, " ", ""))
End If
Application.EnableEvents = True
End Sub
如果删除/更改/添加多个单元格,则目标是多个单元格,并且不能像现在这样将值设为大写。循环遍历目标列和A:Z列的交点,并使每个列都大写
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, Range("A:Z")) Is Nothing Then
dim rng as range
for each rng in Intersect(Target, Range("A:Z"))
rng.Value = UCase(Replace(rng.Value, chr(32), vbnullstring))
next rng
End If
Application.EnableEvents = True
End Sub
你得到了什么信息?它发生在哪一行?如果删除/更改/添加了多个单元格,则目标是多个单元格,并且不能像现在这样将值设为大写。循环遍历Target和A:Z列的交叉点,并使每个列都大写。它是否发生在Z之外,因为如果是,则您正在尝试替换一个已删除的值。
Target.value
将是一个数组,如果Target.cells.count>1
则为其添加一个检查,并且检查目标仍然存在。