ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 314|回复: 9

[求助] 比较时间代码

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-7-1 17:47 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
提取系统时间,和单元格里面的时间做比较,代码怎么写?谢谢。不用比较日期,光比较时间就行。

TA的精华主题

TA的得分主题

发表于 2024-7-1 18:26 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
time   单元个-int(单元格)
image.png

TA的精华主题

TA的得分主题

发表于 2024-7-1 18:32 | 显示全部楼层
  1. Sub dddd()
  2.     Dim wb, xt
  3.     wb = CDate(InputBox("请输入时间", "提示", "2024-6-30 10:10:10"))
  4.     xt = Now
  5.     chah = DateDiff("h", wb, xt) '时
  6.     chan = DateDiff("n", wb, xt) '分
  7.     chas = DateDiff("s", wb, xt) '秒
  8.     MsgBox "小时差" & chah & vbCrLf & "分钟差" & chan & vbCrLf & "秒差" & chas
  9. End Sub
复制代码

猜一下

TA的精华主题

TA的得分主题

发表于 2024-7-1 18:33 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-1 18:48 | 显示全部楼层
小凡、、、 发表于 2024-7-1 18:26
time   单元个-int(单元格)

我问的具体点吧。Excel表格A列是时间,B列是文本,当系统时间到A1的时候,弹出B1内容,到A2的时候,弹出B2内容,以此类推。这段代码怎么写?谢谢。

TA的精华主题

TA的得分主题

发表于 2024-7-1 19:02 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
单元格里面是时间是什么样的,要么上传个文件,要么至少截个图出来

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-1 19:18 | 显示全部楼层
木子客 发表于 2024-7-1 19:02
单元格里面是时间是什么样的,要么上传个文件,要么至少截个图出来

这样的文件,当系统时间到A1的时候,弹出B1内容,到A2的时候,弹出B2内容,以此类推。这段代码怎么写?
QQ图片20240701191719.png

TA的精华主题

TA的得分主题

发表于 2024-7-1 19:22 | 显示全部楼层
marmot777 发表于 2024-7-1 18:48
我问的具体点吧。Excel表格A列是时间,B列是文本,当系统时间到A1的时候,弹出B1内容,到A2的时候,弹出B ...

传附件,以什么形式弹出(创建个按钮后msgbox弹出之类的),是找小于最近的时间对应的B列还是什么,讲具体点,

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-1 21:44 | 显示全部楼层
小凡、、、 发表于 2024-7-1 19:22
传附件,以什么形式弹出(创建个按钮后msgbox弹出之类的),是找小于最近的时间对应的B列还是什么,讲具 ...

系统时间到a1里面的时间09:00:13的时候,弹出提示框显示b1里面的内容(卖开2414撤),然后系统时间到了a2里面的时间09:00:40的时候,弹出提示框显示b2里面的内容(卖开2141),以此类推。弹出形式就是桌面弹出提示框之类的,里面显示就行。

20150413.zip

8.19 KB, 下载次数: 4

TA的精华主题

TA的得分主题

发表于 2024-7-3 00:16 来自手机 | 显示全部楼层
Sub CheckTime()
    Dim cellTime As Date
    Dim currentTime As Date
    Dim timeDifference As Long
   
    ' 假设单元格A1包含时间,例如9:03:22
    cellTime = Range("A1").Value
   
    ' 获取当前系统时间
    currentTime = Now
   
    ' 计算时间差(以秒为单位)
    timeDifference = Abs(DateDiff("s", cellTime, currentTime))
   
    ' 如果时间差小于等于5分钟(300秒),则弹出提示框
    If timeDifference <= 300 Then
        MsgBox "单元格的时间与系统时间相差不超过5分钟。"
    Else
        MsgBox "单元格的时间与系统时间相差超过5分钟。"
    End If
End Sub
你可以使用以下VBA代码来实现这个功能:

```vba
Sub CheckTime()
    Dim cellTime As Date
    Dim currentTime As Date
    Dim timeDifference As Long
   
    ' 假设单元格A1包含时间,例如9:03:22
    cellTime = Range("A1").Value
   
    ' 获取当前系统时间
    currentTime = Now
   
    ' 计算时间差(以秒为单位)
    timeDifference = Abs(DateDiff("s", cellTime, currentTime))
   
    ' 如果时间差小于等于5分钟(300秒),则弹出提示框
    If timeDifference <= 300 Then
        MsgBox "单元格的时间与系统时间相差不超过5分钟。"
    Else
        MsgBox "单元格的时间与系统时间相差超过5分钟。"
    End If
End Sub
```

将此代码粘贴到Excel VBA编辑器中的一个模块中,然后运行`CheckTime`子程序。这将检查单元格A1中的时间与当前系统时间的差异,并在差异不超过5分钟时弹出提示框。如果需要检查其他单元格或更改时间差阈值,请相应地修改代码。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 22:42 , Processed in 0.043834 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表