【问题标题】:How to end this kind of do loop?如何结束这种do循环?
【发布时间】:2014-05-31 13:54:57
【问题描述】:

早安,

我正在尝试结束我已经完成的循环,但不确定我应该输入什么。一旦一个值被偏移,就是这样,我想结束循环。有时要查找的值不止一个,Excel 中所有数据的总和直到第 1500 行。

请帮助我。这是我在下面使用的代码。

Sub third()

    Set SrchRng = ActiveSheet.Range("A1", ActiveSheet.Range("A1500").End(xlUp))

    Do
        Set c = SrchRng.Find("31184", LookIn:=xlValues)
       If Not c Is Nothing Then c.Offset(0, 8).Value = "INPUT A NAME"
    Loop

End Sub

【问题讨论】:

  • 使用If Not c Is Nothing Then c.Offset(0, 8).Value = "INPUT A NAME": Exit Do
  • 那么,即使有多个“31184”,您也只想处理找到的第一个?或者你想处理所有这些?如果这是第一件事,那么 Gary's Student 就有一个可行的答案。如果第二个this SO answer 有帮助的话。
  • 您是否需要为所有匹配项查找并设置值?
  • 感谢道格的链接!我会回顾一下,看看我可以在我的代码中加入什么。

标签: excel vba


【解决方案1】:

怎么样:

Sub third()
    Set SrchRng = ActiveSheet.Range("A1", ActiveSheet.Range("A1500").End(xlUp))
    Do
        Set c = SrchRng.Find("31184", LookIn:=xlValues)
        If Not c Is Nothing Then
            c.Offset(0, 8).Value = "INPUT A NAME"
            Exit Do
        End If
    Loop
End Sub

【讨论】:

  • 我正在寻找的确切答案。谢谢加里的学生!
猜你喜欢
  • 2016-08-24
  • 1970-01-01
  • 2013-05-14
  • 1970-01-01
  • 1970-01-01
  • 2018-04-06
  • 1970-01-01
  • 2020-08-26
  • 2014-08-12
相关资源
最近更新 更多