Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
EXCELVBA-“;运行时错误';13';“类型不匹配”;_Excel_Vba - Fatal编程技术网

EXCELVBA-“;运行时错误';13';“类型不匹配”;

EXCELVBA-“;运行时错误';13';“类型不匹配”;,excel,vba,Excel,Vba,我是VBA的新手。我正在尝试使用关键字列表(ColumnC)在excel中标记关键字单元格(ColumnA),这将在ColumnE中输出一个标记 以下是数据集的一个可视示例: 当我尝试运行此代码时,会出现以下错误: “运行tume错误'13':类型不匹配”弹出窗口。 选择“调试”时,所选字段为第17行:s=单元格(i,“A”)。值 我使用的代码来自另一个StackOverflow查询: 在调试器的“监视”部分中,它显示以下信息:“表达式s=单元格(i,“A”).Value”、“Value”、“

我是VBA的新手。我正在尝试使用关键字列表(ColumnC)在excel中标记关键字单元格(ColumnA),这将在ColumnE中输出一个标记

以下是数据集的一个可视示例:

当我尝试运行此代码时,会出现以下错误: “运行tume错误'13':类型不匹配”弹出窗口。 选择“调试”时,所选字段为第17行:s=单元格(i,“A”)。值

我使用的代码来自另一个StackOverflow查询:

在调试器的“监视”部分中,它显示以下信息:“表达式s=单元格(i,“A”).Value”、“Value”、“Type Variant/Integer”

有人能帮我找到阻止此代码执行的原因吗

Sub KeyWord_II_TheSequel()
    Dim Na As Long, Nc As Long, ary, s As String
    Dim r As Range, a, i As Long, outpt As String

    Na = Cells(Rows.Count, "A").End(xlUp).Row
    Nc = Cells(Rows.Count, "C").End(xlUp).Row

    ReDim ary(1 To Nc)
    i = 1
    For Each r In Range("C1:C" & Nc)
        ary(i) = r.Text
        ary(i) = " " & ary(i) & " "
        i = i + 1
    Next r

    For i = 1 To Na
        s = Cells(i, "A").Value
        s = " " & s & " "
        outpt = ""
        For Each a In ary
            If InStr(1, s, a) > 0 Then
                outpt = outpt & "," & a
            End If
        Next a
        If outpt = "" Then
        Else
            Cells(i, "E").Value = Mid(outpt, 2)
        End If
    Next i

End Sub

您需要查看单元格中的值。一种简单的方法是让代码运行到错误中,然后在调试模式下,在即时窗口中键入:
?Cells(i,“A”)。Value
,按enter键,查看结果。或者,只需找出哪一行
i
,然后查看工作表上的Ai单元格。由于您的
s
是一个字符串,并且您得到了这种类型的不匹配错误,这通常意味着单元格中的值是某种错误(通常由计算为错误的公式引起,如
#N/a
),当您在错误后进行调试时,将鼠标悬停在i变量上检查其值并悬停在单元格上()检查其值。