限制LitstBox控件显示指定行数的最新数据(3/3)

实例需求:由于数据行数累加增加,控件加载的数据越来越多,每次用户都需要使用右侧滚动条拖动才能查看最新数据。

因此希望ListBox只加载最后10行数据(不含标题行),这样用户可以非常方便地选择数据,如下图所示。

前面两篇博客已经提供了两种实现方式。

限制LitstBox控件显示指定行数的最新数据(1/3)
限制LitstBox控件显示指定行数的最新数据(2/3)

对于第二种实现方式,用户可以选中ListBox控件的标题行,必需在事件代码种增加相应的异常处理,接下来给大家再解释一个解决方案。

在VBE中设计用户窗体时,在ListBox控件之上创建三个Label控件,模拟实现标题行,如下图所示。当然创建一个Label控件,通过空格控制标题字段的显示位置也是可以的。

示例代码如下。

复制代码
Private Sub UserForm_Initialize()
    Dim arr(), lastRow As Long
    Dim j As Integer, i As Integer
    With ActiveSheet
        lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
        ReDim arr(1 To IIf(lastRow > 10, 10, lastRow - 1), 2)
        If lastRow > 10 Then
            For i = 1 To 10
                For j = 1 To 3
                    arr(i, j - 1) = .Cells(lastRow - 10 + i, j).Text
                Next
            Next
        Else
            For i = 1 To lastRow - 1
                For j = 1 To 3
                    arr(i, j - 1) = .Cells(i + 1, j).Text
                Next
            Next
        End If
    End With
    With Me.ListBox1
        .ColumnHeads = False
        .ColumnCount = 3
        .ColumnWidths = "75;75;75"
        .List = arr()
    End With
End Sub

示例代码的主要逻辑与上一篇博客类似,这里不再赘述。

用户窗体中的ListBox如下图所示。

相关推荐
轩情吖3 天前
Qt多元素控件之QTreeWidget
开发语言·c++·qt·控件·qtreewidget·桌面级开发
轩情吖3 天前
Qt多元素控件之QTableWidget
开发语言·c++·qt·表格·控件·qtablewidget
轩情吖4 天前
Qt多元素控件之QListWidget
开发语言·前端·c++·qt·控件·qlistwidget·桌面级
SunkingYang4 天前
QT中如何使用使用QRadioButton控件
qt·控件·用法·互斥·qradiobutton·单选按钮
老K(郭云开)24 天前
致远蓝凌泛微等传统OA助手--allWebPlugin.IE扩展大显身手
控件·传统oa系统·allwebplugin.ie·activex控件·office控件·传统web系统
TA远方2 个月前
【WPF】桌面程序使用谷歌浏览器内核CefSharp控件详解
wpf·浏览器·chromium·控件·cefsharp·cefsharp.wpf
R_.L2 个月前
【QT】常用控件(概述、QWidget核心属性)
qt·控件
sulikey3 个月前
Qt 入门简洁笔记:常用控件
c++·qt·控件·qwidget·qlabel·qpushbutton·qlineedit
程序员正茂4 个月前
Unity3d中Tab控件的实现
ui·unity·tab·控件
轩情吖4 个月前
Qt常用控件之QSpinBox
开发语言·c++·qt·控件·桌面级开发·qspinbox·微调框