[英]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.