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

Excel VBA需求:在Mode列指定值最后一行后插入行并计算总计

Excel VBA:在指定条件行后插入总计行

现有实现

我有一个含5列的Excel工作表,已使用以下VBA代码实现排序,运行正常:

Dim lrow As Long

lrow = Application.WorksheetFunction.CountA(Sheet2.Range("A:A"))

Sheet2.Range("A3:E" & lrow).Sort key1:=Range("E3:E" & lrow), order1:=xlAscending, Header:=xlNo  ' sno column

需求说明

工作表的Mode列中有7个值为1的单元格,需要在最后一个1所在行的下方插入一行,并在该行计算对应列的总计值。

解决方案代码

在现有排序代码后添加以下逻辑,即可实现需求:

Dim lastOneRow As Long
Dim totalRow As Long

' 找到Mode列(请根据实际列位置修改列标,示例为D列)中最后一个值为1的行号
lastOneRow = Sheet2.Cells(Sheet2.Rows.Count, "D").End(xlUp).Row
Do While Sheet2.Cells(lastOneRow, "D").Value <> 1 And lastOneRow >= 3
    lastOneRow = lastOneRow - 1
Loop

' 在最后一个1的行下方插入一行
Sheet2.Rows(lastOneRow + 1).Insert Shift:=xlDown
totalRow = lastOneRow + 1

' 填写总计标识与计算数值(示例:A列写"总计",B、C列求和,可按需调整)
Sheet2.Cells(totalRow, "A").Value = "总计"
Sheet2.Cells(totalRow, "B").Formula = "=SUM(B3:B" & lastOneRow & ")"
Sheet2.Cells(totalRow, "C").Formula = "=SUM(C3:C" & lastOneRow & ")"
' 其他列需计算总计的话,可继续添加对应公式

注意事项

  • 代码中假设Mode列为D列,请根据实际工作表的列位置修改"D"为对应列标
  • 求和范围可根据数据起始行和业务需求调整,确保覆盖所有需要计算总计的行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 23:42:13