求vba用窗体列表框查询工作表内容代码
新手,请教前辈大侠:EXCEL表格有序号、姓名、日期等多项目,使用窗体,文本框输入姓名、开始日期、终止日期,怎么用查询命令按钮,将EXCEL表中符合姓名、起止日期条件的单...
新手,请教前辈大侠:
EXCEL表格有序号、姓名、日期等多项目,使用窗体,文本框输入姓名、开始日期、终止日期,怎么用查询命令按钮,将EXCEL表中符合姓名、起止日期条件的单元格逐行列到窗体的列表框中。
最好不吝赐给vba代码。
谢谢! 展开
EXCEL表格有序号、姓名、日期等多项目,使用窗体,文本框输入姓名、开始日期、终止日期,怎么用查询命令按钮,将EXCEL表中符合姓名、起止日期条件的单元格逐行列到窗体的列表框中。
最好不吝赐给vba代码。
谢谢! 展开
1个回答
展开全部
Private Sub CommandButton1_Click()
Dim arr, i&, t1, t2, r, c, n, m&
r = ActiveSheet.UsedRange.Rows.Count
c = ActiveSheet.UsedRange.Columns.Count
arr = Range([a1], Cells(r, c))
t1 = TextBox1.Value
t2 = TextBox2.Value
n = Application.CountIfs([c:c], ">=" & t1, [c:c], "<=" & t2)
ReDim brr(1 To n + 1, 1 To c)
For i = 1 To c
brr(1, i) = arr(1, i)
Next
For i = 2 To UBound(arr)
If arr(i, 3) >= DateValue(t1) And arr(i, 3) <= DateValue(t2) Then
For j = 1 To c
brr(m + 2, j) = arr(i, j)
Next
m = m + 1
End If
Next
ListBox1.ColumnCount = c
ListBox1.List = brr
End Sub
Dim arr, i&, t1, t2, r, c, n, m&
r = ActiveSheet.UsedRange.Rows.Count
c = ActiveSheet.UsedRange.Columns.Count
arr = Range([a1], Cells(r, c))
t1 = TextBox1.Value
t2 = TextBox2.Value
n = Application.CountIfs([c:c], ">=" & t1, [c:c], "<=" & t2)
ReDim brr(1 To n + 1, 1 To c)
For i = 1 To c
brr(1, i) = arr(1, i)
Next
For i = 2 To UBound(arr)
If arr(i, 3) >= DateValue(t1) And arr(i, 3) <= DateValue(t2) Then
For j = 1 To c
brr(m + 2, j) = arr(i, j)
Next
m = m + 1
End If
Next
ListBox1.ColumnCount = c
ListBox1.List = brr
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询