如何计算VBA中非空白的单元格?

问题描述 投票:0回答:1

我陷入了一个错误,使我的CountIf无法正常工作。在我的“ 2020 Master RMA”表中,我有A列,其中以m / d / yyyy的形式显示日期。我要执行的操作如下:检查A列。如果A列满足一月份的条件(即,如果monthNum = 1),则直接转到O列,并查看该单元格中是否还有日期。如果该单元格中有日期,请将该日期以及其余非空白单元格连同该日期在此列O中一起计数。

我希望将列O的结果放入另一个名为“三月演示文稿”的工作表的单元格中。结果将进入单元格AE49。

我应该在AE49单元格中得到3的值,但是我只得到1的值,而经过几个小时的研究,我仍然不知道为什么。

Sheets("2020 Master RMA's").Select
lastRow = ActiveSheet.UsedRange.Rows.Count
For row = 2 To lastRow
    monthNum = Month(Worksheets("2020 Master RMA's").Range("A" & row).Value)
    If monthNum = 1 Then
        January = January + 1
        JanuaryQE = Application.WorksheetFunction.CountIfs(Worksheets("2020 Master RMA's").Range("O" & row), "<>""")
 Next

Sheets("March Presentation").Select
Worksheets("March Presentation").Range("AD49").Value = January
Worksheets("March Presentation").Range("AE49").Value = JanuaryQE
excel vba countif
1个回答
0
投票
With Worksheets("2020 Master RMA's")
    lastRow = .Range("A" & .Rows.Count).End(xlUp).Row
    For Row = 2 To lastRow
        monthNum = Month(.Range("A" & Row).Value)
        If monthNum = 1 Then
            January = January + 1
            januaryqe = januaryqe + IIf(.Range("O" & Row) <> "", 1, 0)
        End If
     Next
End With
With Worksheets("March Presentation")
    .Range("AD49").Value = January
    .Range("AE49").Value = januaryqe
End With
© www.soinside.com 2019 - 2024. All rights reserved.