Как исправить цикл for, который пропускает некоторые значения?

В основном у меня есть дата, введенная в ячейку N3, и столбец (столбец I), который содержит дату, отсортированную по дате. Я пытаюсь написать код, который сначала просит пользователя ввести дату. Затем программа будет искать эту дату в столбце I и удалять ВСЕ строки после строки, в которой было найдено совпадение.

Мой код как-то работает, но вот моя проблема. Удаляется только часть строк под требуемой строкой, а не все. Я думал, что это может быть проблема с циклом for или счетчиком? Пожалуйста, дайте мне знать, если вы можете помочь :)

Sub DeleteAllRowsPaymentTooFar()

Worksheets("Master").Activate

Dim date_max As Date
date_max = InputBox("What is the maximum date to filter? ")



Range("N3").Value = date_max
Range("N3").NumberFormat = ("ddddd, mmmmmmmmm d, yyyy")


Dim i As Long
i = Range("A4").End(xlDown).Row
Dim result As Integer
Dim str1 As String, str2 As String
Dim counter As Long



str1 = Cells(3, 14).Text

counter = 4

Do While counter <= i

str2 = Cells(counter, 9).Text

result = StrComp(str1, str2, vbTextCompare)

  If result <> 0 Then
 MsgBox ("The date is not yet reached.")

  Else

        For K = counter To i
        Worksheets("Master").Rows(K).EntireRow.Delete
        Next


    End If

counter = counter + 1
Loop

End Sub

Я ожидаю удалить все строки под строкой, в которой было найдено совпадение.

Почему бы вам не использовать вместо этого что-то вроде этого: Worksheets("Master").Range(counter, i).EntireRow.Delete чтобы заменить любую потребность в цикле For

Dean 27.05.2019 18:54

я думаю, что вы не имеете в виду правильный лист. используйте a с Worksheets("Master") и повторите попытку

Luis Curado 27.05.2019 19:05
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
2
45
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это может помочь вам:

For i=LastPoint To FirstPoint Step-1

    Worksheets("Master").Rows(i).EntireRow.Delete

Next i

Другие вопросы по теме