永发信息网

vb中用EXCEL比较日期 如何完成

答案:3  悬赏:40  手机版
解决时间 2021-04-05 21:37
研究个程序 运行可以提示最近过生日的好友 查询EXCEL表格里一列日期
我想问的是 如果比较2个日期 改怎么比较
假设我已经有当前日期 a 如何引用EXCEL里的日期 再来比较
请VB高手教教我列~~~谢谢!!!感激不尽
如果EXCEL不行 数据库也可以
讲的详细深入的 给你更多分!!

饿 一楼EXCEL好牛B 我拿你那个运行下是好用 但是想把他筛选出来 想比如数据很多的时候 一条一条看还是很复杂。。。 谢谢1楼的回答!
最佳答案
'VB 访问 Excel
Private Sub Command1_Click()
Dim xlApp, xlBook, xlSheet, nStr As String
Dim L As Long, H As Long, H1 As Long, H2 As Long, L1 As Long, L2 As Long

On Error GoTo Exit1
Set xlApp = CreateObject("Excel.Application") '启动 Excel
xlApp.Visible = True '显示 Excel 主程序窗口。如果不想显示,可删除此语句

'打开一个工作簿
Set xlBook = xlApp.Workbooks.Open("C:\my.XLS")'生日的好友 Excel 文件
Set xlSheet = xlBook.Worksheets(1) '设置对第一个工作表的引用

'遍历指定列 的所有单元格
L = 1
Call MinMax(xlSheet.UsedRange, H1, H2) '行的 起点、结束序号
Call MinMax(xlSheet.UsedRange, L1, L2, True) '列的 起点、结束序号

'访问某单元格,用 xlSheet.Cells(H, L).Value 的形式,或 xlSheet.Cells(H, L).Text
For H = H1 To H2
nStr = xlSheet.Cells(H, L).Value
'****在此处插入 nStr 与日期 a 比较的语句
Next

Set xlSheet = Nothing: Set xlBook = Nothing
xlApp.Quit: Set xlApp = Nothing '关闭 Excel,释放变量引用
Exit Sub

Exit1:
Set xlSheet = Nothing: Set xlBook = Nothing
xlApp.Quit: Set xlApp = Nothing '关闭 Excel,释放变量引用
MsgBox "错误 " & Err.Number & ":" & vbCrLf & Err.Description, vbCritical
End Sub

Private Sub MinMax(nRange, nMin As Long, nMax As Long, Optional GetLie As Boolean)
If GetLie Then '列的 起点、结束序号
nMin = nRange.Column
nMax = nMin + nRange.Columns.Count - 1
Else '行的 起点、结束序号
nMin = nRange.Row
nMax = nMin + nRange.Rows.Count - 1
End If
End Sub
'参见我的QQ空间(32063270)文章
全部回答
excel中选择工具栏右键有个visualbasic的选项,选择后出现一个录制宏的工具。你可以选择点按钮开始宏录制,然后在excel中随机点击或者其他操作。按下录制停止键。然后点击visualbasic编辑器图标,就会看到你刚才录制宏的过程中你对excel的操作的后台程序(vb)。可以直接手动修改程你想实现的功能。
楼主,为什么一定要VB呢 ? 我假设A1同学生日, B1输入公式: =IF(ISERR(DATEDIF(TODAY(),A1,"yd")),"生日已过",IF(DATEDIF(TODAY(),A1,"yd")>=0,"这位同学还有 "&(A1-TODAY())&" 天过生日",0)) 这行么? 想要筛选就改改吧,让B1等于具体天数: =IF(ISERR(DATEDIF(A10,TODAY(),"yd")),"生日有误",DATE(YEAR(today()),MONTH(A10),DAY(A10))-TODAY()) 负数表示已过,正数表示还没过 自动筛选下拉列表里可以自定义筛选条件,一个自定义里可以放两个条件: 如:第一个条件可以放 "小于等于" 值 放"7", 第二个条件放 "大于" 值放 "0" 这个筛选结果就是一周内过生日的同学
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
爱格名句关于朋友,缘分未尽心未凉类似的句子
单选题下列各组有机物只用一种试剂无法鉴别的
约克逊是个郡 东子怎么回事
“象征着……的精神”用英语怎么说???
我想知道我的生辰八字是多少?1990年农历6月2
NA表示阿伏加德罗常数的值,下列说法中正确的
送好朋友的简短祝福语,找一些给朋友的祝福语
谁有匪我思存的小说TXT啊,可以发给我吗
电焊“十不烧”规定有哪些
抖音@莉哥真名
有关线条的名言
去年高考各个学校的录取分数线
楚王和楚霸王,什么区别
凤凰phenix20 JG301 相机
漓江阅读答案
推荐资讯
我是7o年代农村退伍军人以交社保13年以到退休
汽车自动巡航驾驶的程序究竟怎么操作,我的昂
梁内箍筋有何作用,其主要构造要求有哪些
牛仔裤裤腿怎么卷图解,怎么挽裤腿好看图解
请问建筑地下停车场有没有消防强排烟系统
单选题大文豪巴尔扎克说过:“世界上的事情永
新生儿在哪办理医保卡,新生儿如何办理城镇居
转为第三人称
看望生病老人送什么好,朋友生病送什么好?
男1990年属马和1996女属鼠2016年是否可以结婚
觉台词阴阳师,王者荣耀斐小峰解说狄仁杰阴阳
胥怎么读音是什么意思,胥怎么读音是什么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?