首页 > 解决方案 > 如何在公式中插入动态最后一行?

问题描述

我正在使用一张干净的表格,在其中粘贴一列具有不同行数的日期。我的目标是显示每个日期出现了多少次。但是,每次到达最后一行时,我都会不断收到运行时错误“1004”应用程序定义或对象定义错误。

这是我的代码:

Dim lastrow As Long
    Set ws = ActiveSheet
    Set startcell = Range("A1")
    lastrow = ws.Cells(Rows.Count, "A").End(xlUp).Row
    Range("B2").Formula = "=countif(A1:" & lastrow & ")"

提前致谢!!

标签: vbaexcel-formula

解决方案


COUNTIF 函数需要 2 个参数(https://support.microsoft.com/en-us/office/countif-function-e0de10c6-f885-4e71-abb4-1f464816df34),而不是您的代码中的一个。也错过了范围内的列字母。如果要处理 N 个日期,则必须使 N 个公式为 COUNTIF。试试这个代码(A1 列 A 中的日期,B 列中的公式):

Sub times()
    With ActiveSheet
        Intersect(.Columns(1), .UsedRange).Offset(0, 1).FormulaR1C1 = "=COUNTIF(C[-1],RC[-1])"
    End With
End Sub

结果: 在此处输入图像描述


推荐阅读