Excel工作表控件实现滚动按钮效果

实例需求:工作表中有多个Button控件(工作表Form控件)和一个ScrollBar控件(工作表ActiveX控件,名称为ScrollBar2),需要实现如下图所示效果。点击ScrollBar控件实现按钮的滚动效果,实际工作表中Button控件个数不确定。

请添加图片描述

首先设置ScrollBar控件属性。

  • 依次单击Excel 【开发工具】选项卡>【设计模式】按钮
  • 鼠标右击ScrollBar控件,在弹出的快捷菜单中,选择【属性】命令
  • 在弹出的【属性】对话框中修改相关属性,如下图中K列和L列表格所示。

在这里插入图片描述

ScrollBar控件Change事件代码如下。

Private Sub ScrollBar2_Change()Dim btn As Button, i As Long, j As LongDim iLoc As Long, iTop As Long, iVal As LongConst TOP_GAP = 10Const BTN_GAP = 3Application.ScreenUpdating = FalseiVal = Me.ScrollBar2.ValueFor i = 1 To Me.Buttons.CountIf i > iVal ThenIf i = iVal + 1 TheniTop = TOP_GAPElseWith Me.Buttons(i - 1)iTop = .Top + .Height + BTN_GAPEnd WithEnd IfMe.Buttons(i).Top = iTopEnd IfMe.Buttons(i).Visible = (i > iVal)Next iApplication.ScreenUpdating = True
End Sub

【代码解析】
第4行代码设置常量TOP_GAP,为首个可见Button控件的上边距(控件上端与表格区域上边界的距离)。
第5行代码设置常量BTN_GAP,为两个相邻Button控件间的距离。
第6行代码禁止屏幕更新。
第7行代码获取ScrollBar控件的当前值(0~100)。
第8~20行代码循环处理工作表中的全部Button控件。
第9行代码判断Button控件编号是否大于ScrollBar控件的值。
例如ScrollBar控件的值为2,由于ScrollBar控件的步长设置1,说明用户点击两次下箭头,因此需要隐藏前两个Button控件,本示例中可见Button控件为第3个到第6个,下面代码实现这个效果。
第10行代码判断是否为当前变量Button控件是否个首个可见控件。
如果满足条件,第11行代码其上边距为TOP_GAP。
如果不满足条件,第13~15行代码根据其上一个可见控件的位置和控件尺寸(高度)计算上边距。如果所有Button控件都是相同尺寸,那么此处也可以直接计算每个控件的上边距。
第17行代码设置Button控件的Top属性。
第19行代码设置Button控件的Visible属性,隐藏无关控件。
第21行代码恢复屏幕更新。

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

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

相关文章

SpringBoot自带的tomcat的最大连接数和最大的并发数

先说结果:springboot自带的tomcat的最大并发数是200, 最大连接数是:max-connectionsaccept-count的值 再说一下和连接数相关的几个配置: 以下都是默认值: server.tomcat.threads.min-spare10 server.tomcat.threa…

8.网络游戏逆向分析与漏洞攻防-游戏网络架构逆向分析-游戏底层功能对接类GameProc的实现

内容参考于:易道云信息技术研究院VIP课 上一个内容:通过逆向分析确定游戏明文接收数据过程 码云地址(master 分支):https://gitee.com/dye_your_fingers/titan 码云版本号:bcf7559184863febdcad819e48aaa…

科技云报道:黑马Groq单挑英伟达,AI芯片要变天?

科技云报道原创。 近一周来,大模型领域重磅产品接连推出:OpenAI发布“文字生视频”大模型Sora;Meta发布视频预测大模型 V-JEPA;谷歌发布大模型 Gemini 1.5 Pro,更毫无预兆地发布了开源模型Gemma… 难怪网友们感叹&am…

11:日志分析系统ELK|Elasticsearch|kibana

日志分析系统ELK|Elasticsearch|kibana 日志分析系统ELKELK概述Elasticsearch安装Elasticsearch部署Elasticsearch集群Elasticsearch插件 熟悉Elasticsearch的API调用_cat API创建 tedu 索引使用 PUT 方式增加数据查询数据修改数据删除数据 KibanaKibana…

C语言第三十一弹---自定义类型:结构体(下)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 目录 1、结构体内存对齐 1.1、为什么存在内存对齐? 1.2、修改默认对齐数 2、结构体传参 3、结构体实现位段 3.1、什么是位段 3.2、位段的内存分配 3.3、…

端口映射的软件有哪些?

端口映射软件是一种实用工具,能够帮助用户在网络中实现远程通信,解决不同地区电脑与电脑、设备与设备、电脑与设备之间的信息传输问题。其中,【天联】组网天联是一款功能强大的端口映射软件,它通过在全国各主要节点部署加速服务器…

KubeSphere实战

我是南城余!阿里云开发者平台专家博士证书获得者! 欢迎关注我的博客!一同成长! 一名从事运维开发的worker,记录分享学习。 专注于AI,运维开发,windows Linux 系统领域的分享! 知…

数据可视化基础与应用-01-数据可视化概述

总结 本系列是数据可视化基础与应用的第02篇,主要介绍数据可视化概述,包括数据可视化的历史,原理,工具等。 认识大数据可视化 数据是什么 信息科学领域面临的一个巨大挑战是数据爆炸。据IDC Global DataSphere统计&#xff0c…

【Nuxt】在 Nuxt3 中使用 nuxt-icons 实现 icon svg 的动态变色效果

效果展示 nuxt-icons 安装 自己去看官网文档就行 nuxt-icons 配置 把 svg 放到 icons 目录下 使用 要想实现变色效果,需要我们把 svg 内部的需要动态变色的地方修改为 fill"currentColor" 才能实现动态修改颜色的效果 然后在代码中使用,使…

【机器人学导论笔记】三、操作臂正运动学

3.1 概述 操作臂正运动学研究操作臂的运动特性,主要涉及与运动有关的几何参数和时间参数。本章中,只研究静止状态下操作臂连杆的位置和姿态。 处理这些复杂的几何参数需要一些步骤:首先需要在操作臂的每个连杆上分别固接一个连杆坐标系&…

C++ Primer (第五版)第三章习题部分答案

在我自学C过程中,我选择了CPrimer这本书,并对部分代码习题进行了求解以及运行结果。接下来几个月我将为大家定时按章节更新习题答案与运行结果,运行环境(Visual Studio Code,windows 11): 3.1.1.使用恰当的…

llm的inference(二)

文章目录 Tokenizer分词1.单词分词法2.单字符分词法3.子词分词法BPE(字节对编码,Byte Pair Encoding)WordPieceUnigram Language Model(ULM) embedding的本质推理时的一些指标参考链接 Tokenizer 在使用模型前,都需要将sequence过一遍Tokenizer&#xf…

【JavaScript 漫游】【020】DOM 常用知识点总结

文章简介 DOM 是 JavaScript 操作网页的接口,全称为文档对象模型(Document Object Model)。DOM 操作是 JavaScript 最常见的任务,离开了 DOM,JavaScript 就无法操作网页。 本篇文章为【JavaScript 漫游】专栏的第 02…

Mybatis总结--传参二

#叫做占位符 Mybatis是封装的JDBC 增强版 内部还是用的jdbc 每遇到一个#号 这里就会变为?占位符 一个#{}就是对应一个问号 一个占位符 用这个对象执行sql语句没有sql注入的风险 八、多个参数-使用Param 当 Dao 接口方法有多个参数,需要通过名称使…

Gemini 模型将被引入Performance Max

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

迅为LS2K0500开发板龙芯自主指令系统应用于互联网应用、打印终端、BMC 医疗、数控、通讯、交通等

CPU 迅为LS2K0500开发板采用龙芯2K0500处理器,基于龙芯自主指令系统 (LoongArch) 架构,片内集成64位LA264处理器核。实现ACPI、DVFS/DPM动态电源功耗管理等低功耗技术,支持多种电源级别和唤醒方式,可根据具体应用场景对芯片部分功…

Linux内核网络

文章目录 前言网络协议栈图解功能 发送Linux内核网络数据包图解流程 接收Linux内核网络数据包图解流程 最后 前言 你好,我是醉墨居士,因为Linux内核涉及的内容极多,我们初学者如果一上来就开始深挖细节,很有可能会在Linux内核代码…

时序预测 | Matlab实现基于GRNN广义回归神经网络的光伏功率预测模型

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 1.时序预测 | Matlab实现基于GRNN广义回归神经网络的光伏功率预测模型 2.单变量时间序列预测; 3.多指标评价,评价指标包括:R2、MAE、MBE等,代码质量极高; 4.excel数据,方便替换,运行环境2020及以上。 广义回…

抖音短视频:表情包账号的魅力与运营之道以及制作与工具

在短视频的浪潮中,抖音以其独特的创意和趣味性成为了年轻人的最爱。其中,表情包账号更是凭借其生动、形象的表现方式,赢得了众多用户的青睐。本文将深入探讨抖音短视频表情包账号的魅力所在以及如何有效运营。 一、表情包账号的独特魅力 情…

Go的CSP并发模型实现M, P, G简介

GMP概念简介 G: goroutine(协程,也叫用户态线程) M: 工作线程(内核态线程) P: 上下文(也可以认为是cpu,逻辑cpu数量,可以在程序启动的时候设置这个数量,gomaxprocs函数设置) GMP 模型 在 Go 中&#xff…