限制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如下图所示。

相关推荐
梦起丶2 个月前
Qml 实现星级评分组件 已发布
qt·ui·控件·qml
梦起丶2 个月前
Qml 实现水波进度动画条
qt·ui·控件·qml
大浪淘沙胡2 个月前
ListBox显示最新数据、左移和右移操作
listbox·显示最新数据·左移右移
梦起丶2 个月前
Qml 实现仿前端的 Notification (悬浮出现页面上的通知消息)
qt·控件·qml
梦起丶2 个月前
Qml 实现星级评分组件
qt·ui·控件·qml·评分组件
郭恩硕2 个月前
C#自定义控件—旋转按钮
c#·控件
郭恩硕3 个月前
C#自定义控件—指示灯
c#·控件
郭恩硕3 个月前
C#自定义控件—仪表盘
c#·控件
Trouvaille ~3 个月前
【Python篇】PyQt5 超详细教程——由入门到精通(序篇)
开发语言·python·qt·ui·控件·pyqt5·布局管理器
郭恩硕3 个月前
C#自定义控件—文本显示、文本设值
c#·控件