一列的总和

时间:2015-03-31 20:29:25

标签: excel vba excel-vba

我想计算工作表中不同列的总和,并将其填入另一个工作表中。

LastrowA = Weight.Cells(Weight.Rows.Count, "A").End(xlUp).Row
Set Rng = Weight.Range("A2" & LastrowA)
Weight.Activate

Summ= WorksheetFunction.Sum(Rng)    ' Doesn't work
Summary.Cells(1, 1).Value=Summ

Summary.Cells(1, 1).Value = Application.Sum(Rng)  ' Doesn't Work

两张表是重量和摘要。我已经尝试了两种方式,两者都给了我一个Zero的答案。我想继续为我的所有专栏做这件事。请指教。谢谢。

2 个答案:

答案 0 :(得分:1)

首先,我在这里没有优秀,所以我不能亲自尝试我所想的。 但我认为你使用Range-Method的方式错误..它应该是这样的:

Set Rng = Weight.Range("A2" , Cells( LastrowA , "A") )

所以有一个","参数之间而不是"&"有第二个Cell而不是行号。 希望有所帮助

答案 1 :(得分:1)

此子将汇总工作表1列A到C中的数据并将结果放入Sheet2

您可以使用此子,只需更改列字母和输出单元格。

希望这有帮助

Sub SumRange()
Dim wb as Workbook
Set wb = Thisworkbook
Dim ws as worksheet
Set Weight = wb.Sheets("Weight")

LastRow1 = Weight.Range("A" & Rows.Count).End(xlUp).Row
Set Rng = Weight.Range("A2:A" & "" & LastRow1 & "")
Col1Sum = WorksheetFunction.Sum(Rng)

LastRow1 = Weight.Range("B" & Rows.Count).End(xlUp).Row
Set Rng = Weight.Range("B2:B" & "" & LastRow1 & "")
Col2Sum = WorksheetFunction.Sum(Rng)

LastRow1 = Weight.Range("C" & Rows.Count).End(xlUp).Row
Set Rng = Weight.Range("C2:C" & "" & LastRow1 & "")
Col3Sum = WorksheetFunction.Sum(Rng)

ThisWorkbook.Sheets("Sheet2").Cells(2, 2).Value = Col1Sum
ThisWorkbook.Sheets("Sheet2").Cells(3, 2).Value = Col2Sum
ThisWorkbook.Sheets("Sheet2").Cells(4, 2).Value = Col3Sum

End Sub