-5

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

我需要一种方法来向上计数列中的行,直到出现空白单元格并使用VBA. 有任何想法吗?

4

2 回答 2

1

我不是 100% 确定你在问什么。您说“对数字求和”,但没有指定要求和的数字是计算的行数还是要对找到的单元格的值求和。

-编辑-

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

-编辑2-

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

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
于 2013-02-19T16:23:30.620 回答
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
于 2013-02-19T12:40:08.137 回答