对筛选后的E列数字加总,和放在最下面,用VBA怎么写
时间: 2023-05-14 11:06:13 浏览: 83
可以使用以下VBA代码实现:
Sub SumEColumn()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "E").End(xlUp).Row '获取E列最后一行的行号
Cells(lastRow + 1, "E").Formula = "=SUM(E1:E" & lastRow & ")" '在最后一行下方插入公式求和
End Sub
这段代码会将E列中筛选后的数字加总,并将结果放在E列最后一行的下方。
相关问题
对筛选后的E列可见数字加总,和放在最下面,用VBA怎么写
你可以使用以下 VBA 代码来实现对筛选后的 E 列可见数字加总,并将结果放在最下面:
Sub SumVisibleCells()
Dim rng As Range
Dim sum As Double
'获取当前筛选后可见的 E 列单元格范围
Set rng = ActiveSheet.Range("E:E").SpecialCells(xlCellTypeVisible)
'计算可见单元格的和
sum = Application.WorksheetFunction.Sum(rng)
'将和放在 E 列最下面
With ActiveSheet.Range("E" & Rows.Count).End(xlUp).Offset(1, 0)
.Value = sum
.Font.Bold = True
End With
End Sub
请注意,此代码假定您已经在工作表上进行了筛选,并且 E 列中只包含数字。如果您需要在其他列或其他条件下进行加总,请相应地更改代码。
加总E列筛选后的数字,和放在e列最下面,用VBA怎么写
以下是一个可能的 VBA 代码示例,用于将加总 E 列筛选后的数字放在 E 列最下面:
```
Sub MoveFilteredNumbersToBottom()
Dim lastRow As Long
Dim filteredRange As Range
Dim cell As Range
' Find the last row in column E
lastRow = Cells(Rows.Count, "E").End(xlUp).Row
' Filter column E to show only numbers
Range("E1:E" & lastRow).AutoFilter Field:=1, Criteria1:=">0", Operator:=xlAnd
' Get the filtered range
Set filteredRange = Range("E2:E" & lastRow).SpecialCells(xlCellTypeVisible)
' Move each cell in the filtered range to the bottom of column E
For Each cell In filteredRange
cell.Cut Destination:=Range("E" & lastRow + 1)
lastRow = lastRow + 1
Next cell
' Clear the filter
ActiveSheet.AutoFilterMode = False
End Sub
```
请注意,这只是一个示例代码,可能需要根据您的具体需求进行修改。
阅读全文