【问题标题】:Macro excel if else statement宏excel if else语句
【发布时间】:2016-05-03 06:19:15
【问题描述】:

我正在创建一个宏来检查一整列中的单元格。我将第一个单元格与第二个单元格进行比较,将第二个单元格与第三个单元格进行比较,如果后续单元格小于前一个单元格,我将在它们之间添加一整行零,我该怎么做?

我有这样的事情:

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

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

【问题讨论】:

  • 它是如何失败的?请具体。

标签: excel vba


【解决方案1】:

首先,我已将 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

【讨论】:

  • 稍微解释一下代码会大大改善你的答案。
猜你喜欢
  • 2018-09-20
  • 1970-01-01
  • 2019-04-09
  • 2013-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-05
  • 2015-06-24
相关资源
最近更新 更多