我基本上在单元格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
我希望删除找到匹配项的行下的所有行。
答案 0 :(得分:1)
这可以帮助您:
For i=LastPoint To FirstPoint Step-1
Worksheets("Master").Rows(i).EntireRow.Delete
Next i