作者:绿色风
分类:
时间:2022-08-17
浏览:135
楼主 liuguansky |
Q:如何在两个文本框中调用日期时间控件来进行日期输入,同时对两个文本框选择的日期进行满足日期条件的特定人员的记录总数返回? A:用如下代码可以实现:- Public s&
- Private Sub CommandButton1_Click()
- '获取三人的总记录
- Jl Array("张小莉", "王惠", "王立根")
- TextBox2.Text = s
- End Sub
- Private Sub DTPicker1_Change()
- '时间日期控件获取至,返回到文本框
- With DTPicker1
- If .Left = TextBox5.Left Then TextBox5.Text = .Value
- If .Left = TextBox6.Left Then TextBox6.Text = .Value
- .Visible = False
- End With
- End Sub
- Private Sub TextBox5_Change()
- '依开始日期条件返回满足条件记录
- Jl Array("张小莉", "王惠", "王立根"), TextBox5.Text, TextBox6.Text
- TextBox1.Text = s
- End Sub
- Private Sub TextBox6_Change()
- '依结束日期条件返回满足条件记录
- Jl Array("张小莉", "王惠", "王立根"), TextBox5.Text, TextBox6.Text
- TextBox1.Text = s
- End Sub
- Private Sub TextBox5_GotFocus()
- '选取文本框时,对日期时间控件位置进行处理
- With DTPicker1
- .Visible = True
- .Top = TextBox5.Top
- .Left = TextBox5.Left
- End With
- End Sub
- Private Sub TextBox6_GotFocus()
- '同上
- With DTPicker1
- .Visible = True
- .Top = TextBox6.Top
- .Left = TextBox6.Left
- End With
- End Sub
- Sub Jl(Arr As Variant, Optional D1, Optional D2)
- '带参数过程,方便连续多要求调用
- Dim Ar, i&, j%
- Ar = Range("b2:c" & Cells(Rows.Count, 2).End(3).Row).Value
- s = 0
- For i = 1 To UBound(Ar, 1)
- If IsMissing(D1) And IsMissing(D2) Then GoTo 100
- If CDate(D1) <= CDate(D2) And CDate(D1) <= Ar(i, 2) And CDate(D2) >= Ar(i, 2) Then
- GoTo 100
- Else: GoTo 200
- End If
- 100
- For j = LBound(Arr) To UBound(Arr)
- If Ar(i, 1) = Arr(j) Then
- s = s + 1: Exit For
- End If
- Next j
- 200
- Next i
- End Sub
该帖已经同步到 liuguansky的微博 |
2楼 JOYARK1958 |
謝謝提供下載學習 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一