У меня в основном есть дата, введенная в ячейку 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
Я ожидаю удалить все строки под строкой, в которой найдено совпадение.