汇总表中的列值

我有button,可以添加行,撤消最后添加的行,并删除表中的所有行。 最后,我有一个button,应该在表格的最后添加一行,将上面的列的内容相加。

Private Sub cmbSummarizeColumns_Click() Dim the_sheet As Worksheet Dim table_list_object As ListObject Dim table_object_row As ListRow Set the_sheet = Sheets("Ark1") Set table_list_object = the_sheet.ListObjects(1) Set table_object_row = table_list_object.ListRows.Add table_object_row.Range(1, 1).Value = sumcolumn_1 table_object_row.Range(1, 2).Value = sumcolumn_2 table_object_row.Range(1, 3).Value = sumcolumn_3 End Sub 

我不知道如何find1,2和3列的总和,因为我是VBA的新手。 是的,我在这张桌子上有标题。 任何帮助,将不胜感激。

如果您要为总计添加一行,您还可以添加一个结构化的ListObject TotalsRowRange属性 。

 Private Sub cmbSummarizeColumns_Click() Dim the_sheet As Worksheet Dim table_list_object As ListObject Dim tblCOL As Long Set the_sheet = Sheets("Sheet6") Set table_list_object = the_sheet.ListObjects(1) With table_list_object If Not .ShowTotals Then .ShowTotals = True For tblCOL = 1 To 3 'might use To .DataBodyRange.Columns.Count .TotalsRowRange.Cells(1, tblCOL) = _ Application.Sum(.DataBodyRange.Columns(tblCOL)) Next tblCOL End With End Sub 

您提供的示例似乎表明您希望对总和值进行硬编码。 如果您希望使用SUM函数或SUBTOTAL函数 ,则应该很容易将公式replace为由VBA评估公式返回的值。