网站首页 > 精选文章 正文
3月12日视频《Excel VBA 网友答疑:ActiveX控件实现数据分页、翻页》中,我自定义了函数 窗体数据查询(),现将代码公布如下:
参数说明:
1、ItemNum 每页显示的数据数量(由复合框下拉选择)
2、CPageNum 当前显示第几页数据(调用函数时指定)
Function 窗体数据查询(ByVal ItemNum As Integer, ByVal CPageNum As Integer)
On Error Resume Next
Dim arr, brr(1 To 100000, 1 To 9), crr, i&, PageNum As String
arr = Sheet2.Range("A1").CurrentRegion
'清空临时区数据
h = Sheet2.Cells(Rows.Count, "O").Row
If h >= 2 Then
Sheets("数据展示").Range("O2:W" & h).ClearContents
End If
'计算总页数(总数据条数除以每页显示条数,余数为0,则总页数两者相除取整,否则两者相除取整再+1)
If UBound(arr) - 1 Mod ItemNum = 0 Then
总页数 = Int((UBound(arr) - 1) / ItemNum)
Else
总页数 = Int((UBound(arr) - 1) / ItemNum) + 1
End If
'数据总数
查询结果.Label4.Caption = "共有 " & UBound(arr) - 1 & " 条数据"
'分页显示:例如 1/100
PageNum = CPageNum & "/" & 总页数 '分页列表
查询结果.ComboBox2.Value = PageNum
'获取每页数据在数组的起始行、结束行
起始行 = (CPageNum - 1) * ItemNum + 1 + 1
结束行 = (CPageNum - 1) * ItemNum + 1 + ItemNum
'获得当前页数,在翻页的时候有用
当前页数 = CPageNum
'提取数据写入brr数组
For i = 起始行 To 结束行
n = n + 1
For j = 1 To UBound(arr, 2)
brr(n, j) = arr(i, j)
Next j
Next i
For i = 1 To UBound(brr)
brr(i, 2) = VBA.Format(brr(i, 2), "yyyy-mm-dd hh:nn:ss")
brr(i, 3) = VBA.Format(brr(i, 3), "yyyy-mm-dd hh:nn:ss")
Next i
'将数组brr放到临时区域
Sheet2.Range("O2").Resize(n, UBound(brr, 2)) = brr
'将临时提取的数据在ListBox1中显示
crr = Sheet2.Range("O2").CurrentRegion
With 查询结果.ListBox1
.ColumnHeads = True
.ColumnCount = UBound(crr, 2)
.ColumnWidths = "70,100,100,70,50,50,50,50,50"
If UBound(brr) >= 2 Then
.RowSource = Sheet2.Range("O2:W" & UBound(crr)).Address
Else
.RowSource = Sheet2.Range("O2:W3").Address
End If
End With
End Function
猜你喜欢
- 2025-07-03 VBA高级应用30例应用2实现在列表框内及列表框间实现数据拖动
- 2025-07-03 excel 如何取得小数位数(函数+VBA)
- 2025-07-03 技术分析:一款流行的VBA宏病毒(运行vba宏)
- 2025-07-03 Excel规划求解怎么用?最简单的3*3不同数字填充技巧你应知道
- 2025-07-03 excel vba vb.net考勤时间处理通用方法(2)
- 2025-07-03 aardio + VBA ( Excel ) 快速开发,3 分钟可入门
- 2025-07-03 Excel 学习心得,不忘初心(excel心得体会1500字)
- 2025-07-03 Excel常用技能分享与探讨(5-宏与VBA简介 VBA与数据库-二)
- 2025-07-03 如何重新执行Excel表中的计算公式,这个方法不能错过
- 2025-07-03 Excel常用技能分享与探讨(5-宏与VBA简介 VBA-实用自定义过程)
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)