首页 文章

运行时错误'13':类型不匹配VBA 2010以确保单元格中的大写文本

提问于
浏览
2

我的代码有什么问题,每次我删除工作表上的内容都会给我一个运行时错误'13':类型不匹配,

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address <> "$G$13:$J$13" Then
     If Target = Range("G13") Then
          test = UCase(Target.Value)
          If test <> Target.Value Then EnsureUppercase Target
     End If
 End If

结束子

1 回答

  • 2

    使用 Worksheet_Change 事件时,始终使用 Error handlingApplication.EnableEvents

    如果提供的代码将范围(“G13”)转换为大写,则这里是更简化的代码 .

    Private Sub Worksheet_Change(ByVal Target As Range)
    
        On Error Resume Next
    
        Application.EnableEvents = False
    
        Dim rng As Range
        Set rng = Range("G13")
    
        If Not Intersect(Target, rng) Is Nothing Then
              Target.Value = UCase(Target.Value)
        End If
    
        Application.EnableEvents = True
    
    End Sub
    

相关问题