首页 > 解决方案 > VBA 沿着一行循环

问题描述

是否可以沿着一行循环?

我有一个日期标题行,我想遍历这些日期,如果其中一个日期早于今天的日期,我想要一个操作来复制下面单元格的内容并粘贴值以覆盖该列中的公式。

我之前已经完成了一列的循环,但我真的很难连续完成。任何帮助或指导将不胜感激。

提前致谢 :)

标签: vbaloops

解决方案


有三种方法可以检查范围内的单元格

1 如果您知道可以使用 For Each 的尺寸

   Dim r as range
   For each r in Range("A1:F1")
       'r is assigned to each cell in range above in turn
   Next r

(或者,如果用户事先突出显示范围,您可以使用选择属性)

  For each r in Selection

2 或者您可以使用 For Next 和 Cells 循环

    Dim x as long
    For x = 1 to 6
     If Cells(1,x) = "Some Value" Then
     End If
    Next x

3 如果您不知道结尾,只想走到下一个空白单元格,请使用 Do Loop

   Dim r as Range
   Set r = Range("A1")
   Do
      'something
       Set r = r.Offset(0,1)  'move pointer right
    Loop Until r = ""

希望这可以帮助


推荐阅读