Ошибка времени выполнения в VBA Macro - PullRequest
0 голосов
/ 01 мая 2018

Я пытаюсь разбить файл на наборы строк. Я хочу, чтобы он разбивал примерно каждые 2000 строк, но если адрес электронной почты (в столбце AD) является общим значением между последней и следующей строками, перед разделением получите все строки с тем же значением.

Пока у меня есть следующее:

Sub Chunkify_Data()
    Dim inputFile As String, inputWb As Workbook
        Dim lastRow As Long, srow As Long, erow As Long
        Dim newFile As Workbook
        Dim etext As String, netext As String


    With ActiveWorkbook.Worksheets(1)
        lastRow = .Cells(Rows.Count, "A").End(xlUp).row

        Set newFile = Workbooks.Add


        srow = 1805
        While erow < lastRow
            erow = srow + 1999
            If (erow > lastRow) Then
                erow = lastRow
            Else
                etext = ActiveSheet.Cells(erow, 30).Value
                netext = ActiveSheet.Cells(erow + 1, 30).Value
                'Don't split up emails
                While (StrComp(etext, netext, vbTextCompare) = 0)
                    erow = erow + 1
                    netext = ActiveSheet.Cells(erow + 1, 30).Value
                Wend
            End If

            .Rows(1).EntireRow.Copy newFile.Worksheets(1).Range("A1")
            .Rows(srow & ":" & erow).EntireRow.Copy newFile.Worksheets(1).Range("A2")

            'Save in same folder as input workbook with .xlsx
            newFile.SaveAs Filename:=srow & "-" & erow & ".xlsx", CreateBackup:=False
            srow = erow + 1
        Wend
    End With

    newFile.Close saveChanges:=False
End Sub

Вторая строка netext = завершается с ошибкой «Ошибка выполнения 1004: ошибка приложения или объекта». Я не могу понять, почему. Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...