要创建一个可以对任意数量的行进行小计的宏,并将总计放在正确的行中,您可以按照以下步骤进行操作:
Sub 小计宏()
Dim 总计行 As Integer
Dim 小计行 As Integer
Dim 数据开始行 As Integer
Dim 数据结束行 As Integer
' 设置总计行和小计行的初始行数
总计行 = 2
小计行 = 2
' 获取数据开始行和结束行的行数
数据开始行 = Range("A2").Row
数据结束行 = Range("A" & Rows.Count).End(xlUp).Row
' 循环遍历数据行进行小计
For i = 数据开始行 To 数据结束行
If Range("A" & i).Value <> Range("A" & i + 1).Value Then
' 将小计值写入小计行的指定列
Range("B" & 小计行).Value = Application.WorksheetFunction.Sum(Range("B" & 总计行 & ":B" & i))
' 设置下一小计行和总计行的行数
小计行 = 小计行 + 1
总计行 = i + 1
End If
Next i
' 将最后一个小计值写入小计行的指定列
Range("B" & 小计行).Value = Application.WorksheetFunction.Sum(Range("B" & 总计行 & ":B" & 数据结束行))
' 设置总计行的单元格格式
Range("B" & 小计行 + 1).HorizontalAlignment = xlRight
Range("B" & 小计行 + 1).Font.Bold = True
Range("B" & 小计行 + 1).Interior.Color = RGB(220, 230, 241)
' 选中总计行的下一行
Range("A" & 小计行 + 1).Select
End Sub
这个宏将在第一列中的列A中查找数据,然后在列B中进行小计。它会将每个小计的结果放在第二列中的正确行中,并在小计行的下一行放置总计。
应用场景: 此宏适用于需要对数据进行分类并进行小计的情况。例如,在销售数据中按照不同产品进行分类并计算每个产品的销售总额。
腾讯云相关产品推荐:
请注意,以上是仅供参考的腾讯云产品链接,您可以根据实际需求选择适合的产品。
领取专属 10元无门槛券
手把手带您无忧上云