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

改进VBA代码:仅对Level 1-3层级数值加1,Level4保持不变

给层级更新VBA代码添加Level 1-3仅更新规则

原代码可实现表格层级列数值加1,但现在需要限制仅对Level 1至Level 3执行加1操作,Level 4保持不变。下面是修改后的完整代码,同时修复了原代码未闭合的语法问题:

Function GetTheLastRow(sheetName As String) As Long
    '获取工作表最后一行的函数
    Dim sheetTarget As Worksheet
    Dim lastRow As Long
    
    Dim wb As Workbook: Set wb = ThisWorkbook
    Set sheetTarget = wb.Sheets("Existing")
    lastRow = sheetTarget.Cells(sheetTarget.Rows.Count, 1).End(xlUp).Row
    GetTheLastRow = lastRow
End Function

Sub UpDateLevel()
    With Sheets("Existing").Range("A1").CurrentRegion
        With .Resize(.Rows.Count - 1).Offset(1)
            On Error Resume Next
            Dim cel As Range
            Dim levelNum As Integer
            Dim levelParts As Variant
            
            For Each cel In Intersect(.Columns(12).SpecialCells(XlCellType.xlCellTypeVisible).SpecialCells(XlCellType.xlCellTypeConstants).EntireRow, _
              .Columns(13).SpecialCells(XlCellType.xlCellTypeConstants))
                With cel.Offset(, 2)
                    '拆分层级文本为数组
                    levelParts = Split(.Value, " ")
                    '确保拆分后能拿到有效数字
                    If UBound(levelParts) >= 1 Then
                        '提取层级数值
                        If IsNumeric(levelParts(1)) Then
                            levelNum = CInt(levelParts(1))
                            '仅对1-3的层级执行加1
                            If levelNum >= 1 And levelNum <= 3 Then
                                .Value = levelParts(0) & " " & (levelNum + 1)
                            End If
                        End If
                    End If
                End With
            Next
        End With
    End With
End Sub

关键修改说明

  • 新增层级判断逻辑:先拆分Level文本提取数字,只对1-3的层级执行加1操作,Level 4直接跳过
  • 优化层级拼接方式:替代原代码重复的Split调用,用数组元素直接拼接,更简洁高效
  • 增加有效性校验:避免因文本格式异常导致的运行错误
  • 补全原代码缺失的End Sub与闭合逻辑,保证代码语法完整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 06:22:30