在列中向上计数直到空白?

时间:2013-02-19 12:27:25

标签: excel excel-vba vba

我有一个列,其中包含几行数据,然后是一个空白单元格。

我需要一种方法来计算列中向上的行,直到空白单元格并使用VBA对数字求和。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我不是100%肯定你在问什么。您说“汇总数字”但不指定您要求的数字是否是计算的行数,或者您是否要对找到的单元格的值求和。

- 编辑 -

尝试一下: 这将从底行开始并向上计数,直到找到空白单元格 一旦找到空白单元格,它将对最后一个空白单元格与当前空白单元格之间的单元格求和。

-Edit2 -

在列标题下的行中添加了插入,因此第一行也可以求和。

Sub CountUp()
    Dim TotalRows As Long
    Dim TotalCols As Long
    Dim Col As Long
    Dim i As Long
    Dim n As Long

    Rows(2).Insert Shift:=xlDown
    TotalRows = ActiveSheet.UsedRange.Rows.Count
    TotalCols = ActiveSheet.UsedRange.Columns.Count
    'Assumes Data you want to sum is in the first column
    Col = 1

    Cells(TotalRows, Col).Select
    For i = TotalRows To 1 Step -1
        If Cells(i, Col).Value <> "" Then
            n = n + 1
        Else
            Cells(i, Col).Formula = "=SUM(" & Cells(i + 1, Col).Address(False, False) & ":" & Cells(i + n, Col).Address(False, False) & ")"
            n = 0
        End If
    Next
End Sub

答案 1 :(得分:0)

假设列F为列,并且它有数字。请尝试以下代码。

Sub sumAndcount()
    Dim recCount As Long
    Dim recSum As Long

    Range("A65000").Value = "=COUNT(F:F)"
    recCount = Range("A65000").Value

    Range("A65000").Value = "=SUM(F:F)"
    recCount = Range("A65000").Value
End Sub