簡體   English   中英

Excel VBA 2010中的不匹配錯誤13

[英]Mismatch error 13 in Excel VBA 2010

我已經花了數小時來梳理在線資源,卻找不到為什么會返回錯誤的答案:

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)的2D Variant數組,而不是字符串。

您無法以嘗試的方式執行此操作:而是可以遍歷每對值並為每對值運行替換。

未經測試:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM