excel - 在 vba excel 中处理时间时得到错误的值
问题描述
我正在尝试在我使用宏的 Excel 工作表上进行一些计算,我正在处理时间值。
h2 = rg.Cells(i, 5) 'time value
h1 = rg.Cells(i, 4) 'time value
h3 = (TimeValue("23:59") - h1) + (h2 - TimeValue("23:59"))
问题是例如何时h1="20:00"
和h2="07:55"
h3 应该是11:55
,但它给出了12:05
顺便说一句H1
,是进入时间并且H2
是超时时间,所以 h2 在第二天,我正在尝试计算时间的延迟。
问候
解决方案
正如您所指出的,因为 H2 是 H1 之后的一天,所以您需要在计算中考虑到这一点。
所以要计算 H1 和 H2 之间的差异,应该先在 H2 上加上 24 小时。
h2 + 1dy
07:55 + 24:00 = 31:55
v
-h1
31:55 - 20:00 = 11:55
以时间的形式呈现的一天1
- 因为时间以一天的小数部分来衡量。
因此,在许多其他方法中,要获得上述内容,您的公式应该是:
h3 = (h2 + 1) - h1
推荐阅读
- javascript - 匿名函数中括号旁边的括号
- android - 通过 URL 和 Android Intent 打开 Youtube 视频时显示“视频不可用”
- amazon-web-services - 为第三方创建 Cognito 应用程序客户端是否安全?
- python - Discord / Python:TypeError:只能将str(不是“资产”)连接到str
- python - 无限循环:尝试使用线程同时买卖股票
- java - 我们如何在android java中将相机捕捉图片设置为正确的方向
- jmeter - “FlexiWriter”在 NonGui 模式下不工作
- python - 通过蓝牙从 PC 控制手机上的媒体播放
- powershell - Invoke-Command 在远程计算机上以不同用户身份启动 .exe 进程
- cassandra - 如何提高 Spring Data Reactive cassandra 中的插入性能?