简体   繁体   中英

Excel VBA Run-time error '13': Type mismatch

I'm not great at VBA, but all of a sudden, I started getting this error. Please let me know if you can find what the error is. I'm so stuck on this one. I did search everywhere and found lots of similar posts but the solution always seems to be very specific to the code. Any of you experts would be greatly appreciated.

Here's my code:

Sub FindSimilar()
    Dim phrases As Range, phrase As Range
    Dim terms As Range, term As Range
    Dim matches As String
    Dim words() As String

    'ensure this has the correct sheet names for your workbook
    Set phrases = ThisWorkbook.Worksheets("Export").Range("B2:B3500")
    Set terms = ThisWorkbook.Worksheets("Topics").Range("D767:D967")

    For Each term In terms
        matches = ""
        words() = Split(term.Value)

        For i = 0 To UBound(words, 1)
        If Len(words(i)) > 2 Then
         Select Case words(i)
          Case "examplewords", "blacklist"
          Case Else
            For Each phrase In phrases
                If InStr(1, phrase.Value, words(i)) Then
                    matches = matches & phrase & "/"
                End If
            Next phrase
         End Select
        End If

I'm really at a loss as to why the

Run-time error 13: Type mismatch

is being thrown.

The breakpoint occurs at the following lines:

        matches = ""

And

       Set terms = ThisWorkbook.Worksheets("Topics").Range("D773:D779")

And

       For i = 0 To UBound(words, 1)

A Run-time error '13': Type mismatch halfway through looping through a large set of values collected from the worksheet is almost always due to encountering a worksheet error code.

Are there any worksheet error codes (eg #N/A, #VALUE!, etc) in either Export!B2:B3500 or Topics!D767:D967 ?

I found one single #N/A cell. It was not there as an error but as a pasted value :-( It's working now!

You can quickly locate any worksheet errors in a long column of values (or even an entire worksheet) with these steps.

  1. Select entire column. If you want to look at the whole worksheet, just select any single cell. 2, Tap F5 then click Special.
    在此处输入图片说明
  2. Choose Formulas and leave only Errors checked.
    在此处输入图片说明
  3. Click OK.
    在此处输入图片说明

Worksheet errors can also be found with one or both of the following.

<range>.SpecialCells(xlCellTypeConstants, xlErrors)
<range>.SpecialCells(xlCellTypeFormulas, xlErrors)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM