Macro excel if else statement



我正在创建一个宏来检查整列中的单元格。我比较第一个单元格、第二个单元格、第一个单元格和第三个单元格,如果下一个单元格比前一个单元格小,我会在它们之间加一整行零,我应该怎么做?

我有这样的东西:

Sub hello()
    For i = 1 To 10000
        If (C1 - C2 > 1) Then
            C2.EntireRow.Insert
        End If
    Next i
End Sub

但它失败了,正确的方法是什么?

首先,我将10000值更改为行末语句。因此,您不必为每种情况都更改For循环,并消除不必要的循环。插入新行后,必须将i值增加两次才能跳过因差异而创建的空行。在添加新行时,您必须选择i+1,因为默认情况下excel会添加新行并下移值。

Sub hello()
       For i = 1 To Range("A10000").End(3).Row
           If (Cells(i, 1) - Cells(i + 1, 1) > 1) Then
               Cells(i + 1, 1).EntireRow.Insert
               i = i + 1
       End If
  Next i
End Sub

最新更新