ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何调用日期时间控件进行日期条件设置来查询记录数?

如何调用日期时间控件进行日期条件设置来查询记录数?

作者:绿色风 分类: 时间:2022-08-17 浏览:96
楼主
liuguansky
Q:如何在两个文本框中调用日期时间控件来进行日期输入,同时对两个文本框选择的日期进行满足日期条件的特定人员的记录总数返回?
A:用如下代码可以实现:
  1. Public s&
  2. Private Sub CommandButton1_Click()
  3. '获取三人的总记录
  4.     Jl Array("张小莉", "王惠", "王立根")
  5.     TextBox2.Text = s
  6. End Sub

  7. Private Sub DTPicker1_Change()
  8. '时间日期控件获取至,返回到文本框
  9.     With DTPicker1
  10.         If .Left = TextBox5.Left Then TextBox5.Text = .Value
  11.         If .Left = TextBox6.Left Then TextBox6.Text = .Value
  12.         .Visible = False
  13.     End With
  14. End Sub

  15. Private Sub TextBox5_Change()
  16. '依开始日期条件返回满足条件记录
  17.    Jl Array("张小莉", "王惠", "王立根"), TextBox5.Text, TextBox6.Text
  18.    TextBox1.Text = s
  19. End Sub

  20. Private Sub TextBox6_Change()
  21. '依结束日期条件返回满足条件记录
  22.    Jl Array("张小莉", "王惠", "王立根"), TextBox5.Text, TextBox6.Text
  23.    TextBox1.Text = s
  24. End Sub

  25. Private Sub TextBox5_GotFocus()
  26. '选取文本框时,对日期时间控件位置进行处理
  27.     With DTPicker1
  28.         .Visible = True
  29.         .Top = TextBox5.Top
  30.         .Left = TextBox5.Left
  31.     End With
  32. End Sub

  33. Private Sub TextBox6_GotFocus()
  34. '同上
  35.     With DTPicker1
  36.         .Visible = True
  37.         .Top = TextBox6.Top
  38.         .Left = TextBox6.Left
  39.     End With
  40. End Sub

  41. Sub Jl(Arr As Variant, Optional D1, Optional D2)
  42. '带参数过程,方便连续多要求调用
  43.     Dim Ar, i&, j%
  44.     Ar = Range("b2:c" & Cells(Rows.Count, 2).End(3).Row).Value
  45.     s = 0
  46.     For i = 1 To UBound(Ar, 1)
  47.         If IsMissing(D1) And IsMissing(D2) Then GoTo 100
  48.         If CDate(D1) <= CDate(D2) And CDate(D1) <= Ar(i, 2) And CDate(D2) >= Ar(i, 2) Then
  49.             GoTo 100
  50.             Else: GoTo 200
  51.         End If
  52. 100
  53.         For j = LBound(Arr) To UBound(Arr)
  54.             If Ar(i, 1) = Arr(j) Then
  55.                 s = s + 1: Exit For
  56.             End If
  57.         Next j
  58. 200
  59.     Next i
  60. End Sub
该帖已经同步到 liuguansky的微博
2楼
JOYARK1958
謝謝提供下載學習

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap