首页 > 解决方案 > 如何更正我的 VBA 代码中的类型 13 错误不匹配

问题描述

Sub WorksheetChange()
'declare a variable
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Foundation Budget Template")
'calculate if a cell contains text, using the ISNUMBER function, and then return a specified value
If Application.WorksheetFunction.IsNumber(ws.Range("A1:A100")) = False Then
ws.Range("C1:C100") = "Contains Text"
Else

ws.Range("C1:C100") = "No Text"
End If
End Sub

我不断收到类型不匹配 13 错误。我不确定我的类型在哪里失败,但我想知道!此 vba 代码用于扫描 A 列,如果 A 列是数字,则发布“包含文本”,否则如果 A 不是数字,则在 C 列中发布“无文本”。

标签: excelvbams-access

解决方案


Sub WorksheetChange()
    
    'declare a variable
    Dim ws As Worksheet
    Dim row As Long
    
    Set ws = ThisWorkbook.Worksheets(1)
    
    'calculate if a cell contains text, using the ISNUMBER function, and then return a specified value
    For row = 1 To 100
        If Application.WorksheetFunction.IsNumber(ws.Cells(row, 1)) = False Then
            ws.Cells(row, 3) = "Contains Text"
        Else
            ws.Cells(row, 3) = "No Text"
        End If
    Next row
    
End Sub

推荐阅读