如何在每张纸上的特定行具有求和公式VBA?

时间:2018-08-20 15:32:13

标签: excel vba excel-vba

您好,因此我的宏的一部分正在遍历每张纸,并将该列末尾的总和放在每张纸上。但是目前它按原样打印总和,我也希望它显示公式。

Sub GoNext()
    Dim i As Integer

    For Each ws In ThisWorkbook.Worksheets
    Columns("E:E").Select
    Selection.NumberFormat = "$#,##0.00"

    i = ActiveSheet.Index + 1
    If i > Sheets.Count Then i = 1
    Sheets(i).Activate

    If ActiveSheet.Name <> "CPOA Report Macro" Then
    If ActiveSheet.Name <> "Summary" Then
    LastRow = Cells(Cells.Rows.Count, "E").End(xlUp).Row + 1
    Range("E" & LastRow).Font.Bold = True
    Range("E" & LastRow) = WorksheetFunction.Sum(Range("E2:E" & LastRow - 1))
    End If
    End If

    Next ws

End Sub

1 个答案:

答案 0 :(得分:0)

我建议避免使用MappingSet[int]:请参见How to avoid using Select in Excel VBA。您可以直接访问工作表和范围。

还可以使用.Select来组合您的.Activate语句。

您可以使用If设置单元格的公式。

And

我建议使用有意义的过程名称,例如.Formula或类似的名称。这使您的代码更易于阅读。