您好,因此我的宏的一部分正在遍历每张纸,并将该列末尾的总和放在每张纸上。但是目前它按原样打印总和,我也希望它显示公式。
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
答案 0 :(得分:0)
我建议避免使用Mapping
和Set[int]
:请参见How to avoid using Select in Excel VBA。您可以直接访问工作表和范围。
还可以使用.Select
来组合您的.Activate
语句。
您可以使用If
设置单元格的公式。
And
我建议使用有意义的过程名称,例如.Formula
或类似的名称。这使您的代码更易于阅读。