我正在寻找创建一个宏,该宏将显示多张纸中每张纸的设置列中的总和。我需要将“ K”列的总数显示为可变数量的条目的最后一个条目之后的第一行。要求它在VBA中,因为它需要与许多其他功能一起运行。
我尝试了以下代码,但未给出预期的结果,似乎是从其他工作表中提取数据。
Sub SumWorksheets()
Dim LastRow As Long
Dim ws As Worksheet
For Each ws In Worksheets
LastRow = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
ws.Range("K" & LastRow + 1) = Application.WorksheetFunction.Sum(Range("K2:K" & ws.Rows.Count))
Next
End Sub
我希望“ K”列中的所有数字的总和在“ K”行中的最后一个数字下方显示2行
答案 0 :(得分:0)
声明并完全使用ws
和LastRow
变量。不使用会导致代码从另一个工作表中提取值。 @LoveCoding的每个注释中,使用不同的列作为LastRow
可以覆盖Col K
中的单元格。您应该在Sum函数中使用LastRow
变量。
Dim ws As Worksheet, LastRow As Long
For Each ws In ThisWorkbook.Worksheets
LastRow = ws.Range("K" & ws.Rows.Count).End(xlUp).Row
ws.Range("K" & LastRow + 1) = Application.WorksheetFunction.Sum(ws.Range("K2:K" & LastRow))
Next