que*_*dor 1 excel vba excel-vba
有这个vba的excel文件:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not (Application.Intersect(Target, Range("A1:A1000")) _
Is Nothing) Then
With Target
If Not .HasFormula Then
Application.EnableEvents = False
.Value = UCase(.Value)
Application.EnableEvents = True
End If
End With
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
这样做,当在这些单元格上插入某些内容时,它会将其转换为大写字母.一切正常,只是一个小问题......文件每天都被几个人使用,因此插入的数据每天都被删除几次.如果我一次删除一个单元格,它会顺利运行,如果我同时删除了几个单元格,则会出现运行时错误"13".
我怎么能纠正这个?
小智 5
当Target超过单个单元格时,遍历Target中的每个匹配单元格.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A1000") Is Nothing Then
dim trgt as range
for each trgt in Intersect(Target, Range("A1:A1000")
With trgt
If Not .HasFormula Then
Application.EnableEvents = False
.Value = UCase(.Value)
Application.EnableEvents = True
End If
End With
next trgt
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |