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

news2024/11/26 18:34:12

工作表Sheet1中的数据表共有3列,行数不确定,现需要将数据加载到用户窗体的ListBox控件中,设置控件的相关属性属性如下所示。

控件属性属性值
ColumnCount3
ColumnHeadsTrue
RowSourceSheet1!A2:C15

在这里插入图片描述

窗体显示效果如下图所示,这里有一点需要提醒大家注意,由于启用了列标题,所以RowSource属性指定的单元格范围从第二行开始,这个参数指定范围之上的一行数据将作为ListBox控件的标题行。

在这里插入图片描述

ListBox控件的这几个常规属性大家也经常用到,无需多讲。由于数据行数累加增加,控件加载的数据越来越多,每次用户都需要使用右侧滚动条拖动才能查看最新数据,因此希望ListBox只加载最后10行数据(不含标题行),这样用户可以非常方便的选择数据。

利用UserForm_Initialize事件可以轻松实现窗体加载时,在设置ListBox控件的RowSource的动态范围(Sheet1!A6:C15),但是由于控件标题行并支持单独指定单元格范围,所以最终窗体效果如下图所示。工作表中第5行数据成为了ListBox的标题行,这显然是无法接受的。

在这里插入图片描述

借助辅助单元格区域就可以轻松实现,辅助单元格可以位于工作表中的任意位置,通常选择工作表中右侧未使用的列,此示例使用AA列开始的单元格区域。

_注意:_此后的VBA代码定位工作表数据区域时,如果使用UsedRange,那么需要针对辅助单元格区域做特殊处理。

Private Sub UserForm_Initialize()
    Dim lastRow As Long
    With ActiveSheet
        .Range("AA:AC").Clear
        .Range("AB:AC").NumberFormatLocal = "h:mm:ss AM/PM"
        .Range("AA:AA").NumberFormatLocal = "[$-x-sysdate]dddd, mmmm dd, yyyy"
        lastRow = .Cells(Rows.Count, 1).End(xlUp).Row
        If lastRow > 11 Then
            .Range("AA1").Resize(1, 3).Value = .Range("A1:C1").Value
            .Range("AA2").Resize(10, 3).Value = .Range(.Cells(lastRow - 9, 1), .Cells(lastRow, 3)).Value
        Else
            .Range("AA1").Resize(lastRow, 3).Value = .Range("A1").Resize(lastRow, 3).Value
        End If
        lastRow = .Cells(Rows.Count, "AA").End(xlUp).Row
    End With
    With Me.ListBox1
        .ColumnCount = 3
        .ColumnWidths = "75;75;75"
        .ColumnHeads = True
        .RowSource = "AA2:AC" & lastRow
    End With
End Sub

【代码解析】
第4行代码清空AA到AC列用于保存临时数据。
第5~6行代码设置单元格格式,确保数据可以正确显示。
第7行代码获取数据行数。
第8行代码判断数据行数(不包含标题行)是否大于10。
如果多于10行数据,第8行代码将数据表标题行复制到辅助单元格区域的第一行,第10行代码拷贝最后10行数据到辅助单元格区域。
如果不足10行数据,第13行代码拷贝将整个数据表(包含标题行)拷贝到辅助单元格区域。
第14行代码获取辅助单元格区域数据行数。
第17行代码设置数据列数。
第18行代码设置列宽度。
第19行代码设置启用列标题。
第20行代码代码下拉列表数据区域。

效果如下图所示。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1097190.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

项目中 .env.development 与 .env.production 的区别

文章目录 一、项目中使用此两个文件的意义二、使用方式 一、项目中使用此两个文件的意义 我们在开发项目时,经常会有开发环境与生产环境,分别会对应不同的请求地址与各种不同的变量,这个时候我们就可以使用 process.env 去抓取这两个文件写的…

以漫画形式解说面向对象:把复杂的概念用简单有趣的画面呈现,启发你的思维

面向对象是什么 面向对象(Object Oriented,OO)的思想是软件开发中极其重要的概念和应用,它早已超越了程序设计和软件开发的范畴,延伸至数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技…

2023_Spark_实验十九:SparkStreaming入门案例

SparkStreaming入门案例 一、准备工作 二、任务分析 三、官网案例 四、开发NetWordCount 一、准备工作 实验环境:netcat 安装nc:yum install -y nc 二、任务分析 将nc作为服务器端,用户产生数据;启动sparkstreaming案例中的客户端…

BOSHIDA DC电源模块关于电容器的电解液位置

BOSHIDA DC电源模块关于电容器的电解液位置 DC电源模块中的电容器扮演着一个非常重要的角色,它们能够对电路提供稳定的电源电压,同时也可以作为电路中的滤波器,去除电路中的噪声和纹波。在DC电源模块中使用的电容器通常是电解型电容器&#…

unity(WebGL) 截图拼接并保存本地,下载PDF

截图参考:Unity3D 局部截图、全屏截图、带UI截图三种方法_unity 截图_野区捕龙为宠的博客-CSDN博客 文档下载: Unity WebGL 生成doc保存到本地电脑_unity webgl 保存文件_野区捕龙为宠的博客-CSDN博客 中文输入:Unity WebGL中文输入 支持输…

2023_Spark_实验十八:安装FinalShell

下载安装包 链接:https://pan.baidu.com/s/14cOJDcezzuwUYowPsOA-sg?pwd6htc 提取码:6htc 下载文件名称:FinalShell.zip 二、安装 三、启动FinalShell 四、连接远程 linux 服务器 先确保linux系统已经开启,不然连接不上 左边…

Linux离线安装Apache HTTP

准备工作 下载apr、apr-util、pcre、httpd包 apr、apr-util下载, 如下图: pcre下载,如下图: httpd下载 ,如下图: 开始安装 1. 安装编译apr [rootlocalhost ~]# cd /usr/local [rootlocalhost local]# tar -zxvf apr-1.7.4.tar.gz -C ./ [rootlocalhost local]# cd apr…

apple pencil买不买?ipad第三方电容笔推荐

相信很多学生党的学习都离不开iPad,然而电容笔,自然也是是必不可少的。至于真的Apple Pencil,那就更贵了,一支就要一千多块钱,普通人可买不起。国内的电容笔已经做得很好了,虽然不像苹果原装电容笔那样&…

186_Power BI Desktop 支持计算组编辑

186_Power BI Desktop 支持计算组编辑 一、背景 今天是2023年10月16日,基本上是 Power BI 每月更新的时间点了。打开看到 Power BI 果然已经更新到了2023年10月版本:2.122.746.0 (23.10) (x64) 这里提一下,我使用的是商店版的 Power BI De…

多线程中ThreadPoolExecutor.map()中传递多个参数

with concurrent.futures.ThreadPoolExecutor(max_threads) as executor:results executor.map(get_captcha_image, ip_addrs, [img_url] * len(ip_addrs)) #要传入多个参数时,每个参数都得是固定相同长度的可迭代对象# 收集结果for result in results:print(resul…

便利店小程序可以做哪些营销活动呢

在当今这个数字化时代,微信小程序已经成为了人们日常生活的一部分。对于便利店来说,拥有一个优秀的小程序不仅可以提高销售,还可以扩大品牌影响力,增加客户粘性。本文将探讨便利店小程序可以做什么样的营销活动,如何利…

智慧饭堂报餐系统源码 智慧食堂源码

智慧饭堂报餐系统源码 智慧食堂源码 技术栈 1、前端技术栈:ES6、vue、vuex、vue-router、vue-cli、axios、element-ui 2、后端技术栈:SpringBoot、MyBatis、Spring Security、Jwt 介绍 一款java开发的智慧饭堂报餐系统,支持连接人脸识别…

分享一下微信报名系统怎么做

微信报名系统是一种基于微信公众号或小程序的开发和应用,可实现用户通过微信进行在线报名、支付等操作的系统。本文将介绍微信报名系统的基本概念、制作流程、功能特点、使用流程和推广策略,帮助读者了解如何制作一个高效的微信报名系统。 一、微信报名系…

从零开始学习调用百度地图网页API:三、鼠标点击绘图功能

目录 代码功能问题注意addEventListenerplot_line 代码 <!DOCTYPE html> <html> <head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><meta name"viewport" content"initial-scale1.0,…

WordPress 常规设置页面调用媒体中心上传图片插入URL(新版可用)

首先&#xff0c;我们需要在主题或插件文件夹中创建一个 JavaScript 文件&#xff08;如&#xff1a;media-uploader.js&#xff09;&#xff0c;该文件中包含如下代码。 /*** 媒体中心上传 js **/ jQuery(document).ready(function($){var mediaUploader;$(#upload_image_but…

AUTOSAR介绍

AUTOSAR产生背景 车辆功能的创新导致车辆E/E架构日益复杂。与此同时&#xff0c;开发要求通常自相矛盾&#xff1a;例如要求驾驶域辅助系统支持关键性驾驶操控&#xff0c;提高燃油经济性同时符合环境标准。信息娱乐和通信系统与实时车辆环境和在线服务的不断深入整合带来了更…

MASA MAUI 预览Office文件

文章目录 背景介绍1、新建MAUI Blazor项目2、创建OfficeViewer.razor组件3、使用安卓模拟器运行4、兼容iOS 总结 背景 接到一个在Maui中预览Office文件的需求&#xff0c;包含excel、word、PDF三种常见的文件&#xff0c;经过技术选型&#xff0c;最后选择了微软原生支持的off…

如何避免输入中文拼音时触发input事件

如何避免输入中文拼音时触发 input 事件 html 结构 <input type"text" name"" id"" />js 定义了一个输入框并添加了三个事件监听器。以下是每个部分的解释&#xff1a; const input document.querySelector("input"); let i…

记一次U8登录异常问题

最近陆续有同事反映U8系统登录切换不同用户&#xff0c;在选择账套时U8长时间无反应。 一开始在经历二十多秒的等待后还会出现账套下拉列表选项&#xff0c;后来经历更长的时间等待后提示连接SQL服务器错误&#xff0c;如下图&#xff1a; 因为不切换用户时直接登录使用是没有…

leetcode-1.两数之和

1. 题目 2. 解答 遍历数组元素之和&#xff0c;由于只有唯一答案&#xff0c;并且数组中同一个元素不能重复出现&#xff0c; 因此可以使用双重遍历方式来计算所有可能&#xff1b; #include <stdio.h>void solve(int num[], int len, int target) {for (int i 0; i …