excel - 如何修复跳过某些值的 for 循环?
问题描述
我基本上在单元格 N3 中输入了一个日期和一个包含按日期排序的日期的列(第一列)。我正在尝试编写一个要求用户首先输入日期的代码。然后程序将在 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
我希望删除找到匹配项的行下的所有行。
解决方案
这可能会帮助您:
For i=LastPoint To FirstPoint Step-1
Worksheets("Master").Rows(i).EntireRow.Delete
Next i
推荐阅读
- reactjs - 为什么较新的“setState”方法无法识别我的 event.target?
- ffmpeg - 是否可以使用管道发送 ffmpeg 图像?
- sendmail - 创建用于登录 CENTOS LINUX 的 sendmail/dovecot 电子邮件别名用户名
- amazon-web-services - ajax 请求在 AWS EC2 服务器上不起作用
- virtualbox - 在没有 GUI 或访客添加的情况下构建 VirtualBox
- javascript - 使用 node child_process.exec 执行 top 命令时如何解决错误?
- python - 通过 Python ctypes 调用 C 函数:为什么将 uints 传递给期望 size_t 的函数?
- regex - 你如何在谷歌表格中使用 REGEXREPLACE?
- docker - Docker for windows 错误:无法启动服务火花:容器
- java - 匿名内部类实际上不是子类吗?