Excel VBA 2010中的不匹配错误13

Excel VBA 2010中的不匹配错误13,excel,excel-2010,vba,Excel,Excel 2010,Vba,我花了数小时浏览在线资源,但无法找到返回错误原因的答案: Sub temp() Dim Findtext As String Dim Replacetext As String Findtext = Sheets("Sheet2").Range("B2:B500").Value Replacetext = Sheets("Sheet2").Range("A2:A500").Value Sheets("Sheet1").Select Cells.Replace What:=Findtext, R

我花了数小时浏览在线资源,但无法找到返回错误原因的答案:

Sub temp()

Dim Findtext As String
Dim Replacetext As String
Findtext = Sheets("Sheet2").Range("B2:B500").Value
Replacetext = Sheets("Sheet2").Range("A2:A500").Value
Sheets("Sheet1").Select
Cells.Replace What:=Findtext, Replacement:=Replacetext, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

End Sub
每次我收到“运行时错误'13':类型不匹配”消息时

我只是想用另一张纸上的单词替换一张纸上的数值,这些单词在相邻的列中有相应的数值

Sheets("Sheet2").Range("B2:B500").Value
返回具有边界(1到499,1到1)的二维变量数组,而不是字符串

您不能以您尝试的方式执行此操作:相反,您可以在每对值上循环,并为每对值运行替换

未经测试:

Sub temp()

Dim Findtext As String
Dim Replacetext As String
Dim rw As Range

    For Each rw In Sheets("Sheet2").Range("A2:B500").Rows

        Findtext = rw.Cells(2).Value
        Replacetext = rw.Cells(1).Value

        If Len(Findtext) > 0 Then

            Sheets("Sheet1").Cells.Replace What:=Findtext, Replacement:=Replacetext, _
                       LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
                       SearchFormat:=False, ReplaceFormat:=False

        End If
    Next rw

End Sub