Макрос VBA: ошибка 13, несоответствие типов, ошибка 2023 в ячейке - PullRequest
0 голосов
/ 06 июля 2018

Я пытаюсь создать макрос, который группирует строки и суммирует количество элементов, которые они имеют в столбце, я сделал так, чтобы он работал, но через несколько строк он просто вылетает и отображает

Ошибка 13: несоответствие типов.

Когда я открываю код, он выделяет эту строку

stringb = Cells(cont2, 7)

Код такой:

Sub Juntarfilas()
    Dim Av1 As Double
    Dim cont As Long
    Dim cont2 As Long
    Dim numcol As Integer
    Dim comp1 As Integer
    Dim check As String
    Dim string1 As String
    Dim string2 As String
    Dim stringa As String
    Dim stringb As String
    Dim Rango As Variant

    Sheets("RESULTADO").Select
    numcol = Range("E2").Column
    cont = 2
    cont2 = 3

    If IsEmpty(Range("E2").Value) = True Then
        check = 0
    Else
        check = 1
    End If

    While (check = 1)
        string1 = Cells(cont, 5)
        string2 = Cells(cont2, 5)
        stringa = Cells(cont, 7)
        stringb = Cells(cont2, 7)
        comp1 = StrComp(string1, string2)
        If (comp1 = "0") Then
            Rango = Range(Cells(cont, 7), Cells(cont2, 7))
            Av1 = Application.WorksheetFunction.Sum(Rango)
            Cells(cont, 7) = Av1
            cont = cont
            cont2 = cont2
            Rows(cont2).EntireRow.Delete
        Else
            cont = cont + 1
            cont2 = cont2 + 1
        End If

        If IsEmpty(string1) = True Then
            check = 0
        Else
            check = 1
        End If
    Wend
End Sub

Я не могу найти решение, и я пришел сюда, чтобы посмотреть, может ли кто-нибудь мне помочь, заранее спасибо.

Если необходимо, я тоже могу отправить файл excel.

1 Ответ

0 голосов
/ 06 июля 2018

Ошибка Type Mismatch возникает, когда ячейка в stringb = Cells(cont2, 7) содержит формулу, которая возвращает ошибку (например, #DIV/0! или #N/A! или любую другую).

Вместо этого используйте stringb = Cells(cont2, 7).Text, чтобы получить текст ошибки в виде строки.

...