我在 Excel/VBA 中使用 countifs 公式时遇到了一些问题。我已经让公式在 Excel 中完美运行,但理想情况下我想在 VBA 中将它与我的表单一起使用。这是 Excel 中的公式,它很有效:
=COUNTIFS(Sheet1!A:A,"Place",Sheet1!K:K,"<"&TODAY())
将计算现在在过去的地名
=COUNTIFS(Sheet1!A:A,"place",Sheet1!K:K,">"&TODAY())
将计算当前的名称地点
我在 A 列中有五个不同的地点,在 K 列中有数百个不同的日期。上述公式在 Excel 中运行良好并返回正确的值。我花了几个小时试图让它在我的用户窗体中在 VBA 中工作,但不断收到各种错误。第一部分不是问题,但是一旦我使用 &today 功能,它就会崩溃。据我所知,&today 函数在 VBA 中不可用,&Date 似乎是推荐的。我已经尝试过了,但仍然无处可去。我在这里遗漏了一个(或几个)技巧,我真的很想在 VBA 中使用它,而不是在 Excel 中使用当前的公式。返回的结果然后显示在我表单的文本框中。
欢迎所有想法和反馈!
第二次编辑
=================================
感谢您的快速回复!这是我在 VBA 中使用的实际代码
'Count events by area'
Dim ListLondon As Long
ListLondon = .CountIf(Range("a1:a1998"), "London"), ("Sheet1!K1:K1998"), "<" & Date)
End With
Me.TextBox1 = ListLondon
我知道计数的第二部分是否与日期有关 - 这就是我现在留下的方式。我真的希望在最后使用当前布局和有效的日期/今天代码。请告诉我我在这里做错了什么!
====
哎呀 - 已经可以看到一个错误 - 但最初的问题仍然存在于日期问题上。我应该使用 countifs 作为使用多个标准。
最佳答案
将 foo 调暗为 Excel.Range
设置 foo = yourworksheet.Range("A1:B3")
关于vba - 结合计数在 VBA 中的今天功能等效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34622186/