Dir*_*ffy 0 excel vba loops row insert
你好!
我正在尝试构建一个代码,该代码循环遍历范围 C8:C3276 中的每个单元格,如果单元格值为“总计”,则在下方插入一个新行。
这是我到目前为止的代码:
Sub Create_new_rows()
Dim rng As Range
Dim cell As Range
Set rng = Range("C8:C3276")
For Each cell In rng
If ActiveCell.Value = "Total" Then
ActiveCell.Offset(1, 0).Activate
ActiveCell.EntireRow.Insert
End If
Next cell
End Sub
Run Code Online (Sandbox Code Playgroud)
当我执行代码时没有任何反应。我假设在宏运行时代码构建不正确(我没有收到错误消息),但没有做任何事情。
任何帮助是极大的赞赏!:)
我认为有两个问题。1)您应该向后循环,否则您将在添加更多行时跳过行,并且 2)在您的循环中您应该引用cell而不是从未设置的 ActiveCell。
Sub Create_new_rows()
Dim rng As Range, r As Long
Set rng = Range("C8:C3276")
For r = rng.Count To 1 Step -1
If rng(r).Value = "Total" Then
rng(r + 1).EntireRow.Insert
End If
Next r
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4688 次 |
| 最近记录: |