excel - 如何根据时间应用 WorksheetFunction.CountIfs?

我正在尝试对 Sheet2 上的记录进行计数。

Dim wksdata As Worksheet
Dim xyz as String
Dim Time as String

Set wksdata = Sheets("Data")

Time = Date + TimeValue("08:00:00") 'Set Time value as todays date 8am

'set calculations worksheet cell I15 as the time value
Worksheets("Calculations").Range("I15").Value = Time

'converts time column to time format
Worksheets("Data)").Range("U:U").NumberFormat = "dd/mm/yyyy hh:mm:ss"

xyz = WorksheetFunction.CountIfs(wksdata.Range("I:I"), "xyz", _
  wksdata.Range("K:K"), "C", wksdata.Range("U:U"), "<" & _
  Worksheets("Calculations").Range("I15").Value)

如果我直接在工作表中应用它,它会以相同的逻辑工作。

为什么它在 VBA 中不起作用?

最佳答案

尝试使用不同的变量来设置日期和时间。 “Time”内置于 VBA 中,将返回当前时间,因此 Range("I15")。Value 将设置为当前时间,而不是按要求设置为 08:00

Dim wksdata As Worksheet
Dim xyz as String
Dim startTime as String

Set wksdata = Sheets("Data")
startTime = Date + TimeValue("08:00:00") 'Set Time value as todays date 8am
Worksheets("Calculations").Range("I15").Value = startTime 'set calculations 
worksheet cell I15 as the time value

Worksheets("Data)").Range("U:U").NumberFormat = "dd/mm/yyyy hh:mm:ss"  
'converts time column to time format


xyz = WorksheetFunction.CountIfs(wksdata.Range("I:I"), "xyz", 
wksdata.Range("K:K"), "C", wksdata.Range("U:U"), "<" & 
Worksheets("Calculations").Range("I15").Value)

https://stackoverflow.com/questions/44541556/

相关文章:

amazon-web-services - 如何将多个域名路由到同一个 amazon S3 存储桶位

node.js - 如何让 Heroku 运行子文件夹中的 Node 应用程序?

Angular 2 - 如何将响应式(Reactive)表单元素动态绑定(bind)到事件?

python-3.x - 无法将音频上传到 Telegram 错误请求 : failed to ge

mysql - phpmyadmin error 403 - Forbidden rejected

amazon-dynamodb - DynamoDB PutItem 然后 UpdateItem 与

python-3.x - Visual Studio 代码 pylint : Error when

python - 清除 Selenium 作用链

reactjs - 从 create-react-app 发出构建文件

java - 如何配置 Hibernate Envers 以避免实体修订查询中的某些集合(连接表)