You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改VBA代码实现删除含Delete行但保留第8行?

修改后的VBA代码(保留第8行)

以下是满足需求的代码,会删除所有A列单元格值为"Delete"的行,但强制保留第8行:

Sub RectangleRoundedCorners6_Click()
    Dim Last As Long
    Last = Cells(Rows.Count, "A").End(xlUp).Row
    
    ' 从最后一行向上遍历,避免删除行导致的索引错位
    For i = Last To 1 Step -1
        ' 仅当行号不是8,且A列值为"Delete"时才删除
        If Cells(i, "A").Value = "Delete" And i <> 8 Then
            Cells(i, "A").EntireRow.Delete
        End If
    Next i
End Sub

关键修改说明:

  • 移除了原代码中无意义的Range("A8:A9").Select和Range("A9").Activate语句,这类选择/激活操作会降低代码运行效率,且对核心逻辑无帮助。
  • 在删除判断条件中新增i <> 8,直接排除第8行,确保无论该行A列是否为"Delete",都不会被删除。
  • 补充了Last变量的类型声明(Dim Last As Long),符合VBA最佳实践,避免隐式类型转换可能带来的问题。

内容的提问来源于stack exchange,提问作者Wafee89

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 09:39:52