当前位置: 首页 > news >正文

VBA窗体跟随活动单元格【简易版】(2/2)

上一篇博客(文章连接如下)中使用工作表事件Worksheet_SelectionChange实现了窗体跟随活动单元格的动态效果。

VBA窗体跟随活动单元格【简易版】(1/2)

为了在用户滚动工作表窗体之后仍能够实现跟随效果,需要使用Application.Windows(1).VisibleRange对于显示位置进行调整。俗话说,条条大路通罗马,本文将接受另外一个实现方法。

示例代码如下。

' -- 普通(标准)模块代码 --
Public bShow As Boolean' -- ThisWorkbook 模块代码 --
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)If bShow Then Unload UserForm1
End Sub' -- 工作表模块代码 --
Private Sub Worksheet_SelectionChange(ByVal Target As Range)Dim frm, TopOffset As Single, LeftOffset As SingleTopOffset = 162LeftOffset = -6If Not bShow Then UserForm1.Show 0Set frm = UserForm1With TargetIf .Column = 2 Thenfrm.Show 0frm.Top = ExecuteExcel4Macro("GET.CELL(43)") + TopOffsetfrm.Left = ExecuteExcel4Macro("GET.CELL(42)") + .Width + LeftOffsetElsefrm.HideEnd IfEnd With
End Sub

【代码解析】
代码框架与上一篇博客相同,这里不再赘述,只讲解变更的部分。
第20行和第21行代码分别设置窗体的Top属性和Left属性,即调整窗体的显示位置。
其中使用了宏表函数GET.CELL(x)获取单元格的位置,42代表垂直偏移,43代码水平偏移。


使用GET.CELL(x)获取单元格的位置,和单元格的Top属性和Left属性是否相同呢?接下来就验证一下。

Sub Demo()Debug.Print ActiveCell.Top, ActiveCell.TopDebug.Print ExecuteExcel4Macro("GET.CELL(43)"), _ExecuteExcel4Macro("GET.CELL(42)")
End Sub

在这里插入图片描述

同样都是单元格A1为活动单元格,在3种不同状态运行上述代码,结果如下。不难看出:

  • 单元格的Top属性和Left属性在3中场景中都是相同的,也可以说两个属性是以A1单元格左上角为坐标原点的偏移量,两个属性返回值为非负数。
  • GET.CELL(x)返回值是随着显示状态不同而变化,其值可正可负,其坐标原点大致位于图中鼠标箭头所在位置。
 0             0 17.2          25 0             0 
-80           -27.80             0 51.4          25 

正是由于GET.CELL(x)具备这个特性,所以在调整自定义窗体显示位置时,无需再使用Application.Windows(1).VisibleRange。由于坐标原点有变化,TopOffsetLeftOffset偏移量也需要进行相应的调整。

请添加图片描述

相关文章:

VBA窗体跟随活动单元格【简易版】(2/2)

上一篇博客(文章连接如下)中使用工作表事件Worksheet_SelectionChange实现了窗体跟随活动单元格的动态效果。 VBA窗体跟随活动单元格【简易版】(1/2) 为了在用户滚动工作表窗体之后仍能够实现跟随效果,需要使用Application.Windows(1).Visibl…...

个性化定制的知识付费小程序,为用户提供个性化的知识服务

明理信息科技知识付费saas租户平台 随着知识经济的兴起,越来越多的人开始重视知识付费,并希望通过打造自己的知识付费平台来实现自己的知识变现。本文将介绍如何打造自己的知识付费平台,并从定位、内容制作、渠道推广、运营维护四个方面进行…...

【轮式平衡机器人】——软硬件配置/准备

本系列以轮式平衡移动机器人为例,将使用基于模型设计(MBD)方法进行介绍,涉及基础硬件、软件、控制算法等多方面内容,结合MATLAB/Simulink的强大仿真能力和代码生成能力辅助设计!在此过程中可以系统了解开发…...

中国联通助力吴江元荡生态岸线打造5G+自动驾驶生态长廊

吴江,素有“鱼米之乡”“丝绸之府”的美誉,其地理位置优越,地处太湖之滨。近年来,随着长三角生态绿色一体化发展示范区(以下简称“示范区”)的建立,元荡更是声名大噪,成为众多游客心…...

小白准备蓝桥杯之旅(c/c++b组)

前言:省赛获奖比例高达百分之60,只要比一半的人努力,你就能大概率获奖。 寒假做的3件事 1.稳基础 熟练掌握基础语法部分,c比c多个stl库优势,c语言的同学需要会实现c中stl库部分 2.刷真题 大概比赛前30天,坚持每天做…...

Flutter GetX 之 国际化

今天给大家介绍一下 GetX 的国际化功能,在日常开发过程中,我们经常会使用到国际化功能,需要们的应用支持 国际化,例如我们需要支持 简体、繁体、英文等等。 上几篇文章介绍了GetX的 路由管理 和 状态管理,看到大家的点赞和收藏,还是很开心的,说明这两篇文章给大家起到了…...

349. 两个数组的交集(力扣)(OJ题)

题目链接:349. 两个数组的交集 - 力扣(LeetCode) 个人博客主页:https://blog.csdn.net/2301_79293429?typeblog 专栏:https://blog.csdn.net/2301_79293429/category_12545690.html 给定两个数组 nums1 和 nums2 &a…...

安全帽识别-赋能深圳自贸中心智慧工地

在当今的建筑行业中,安全管理一直是一个至关重要的议题。深圳自贸中心项目在这方面进行了一次有益的尝试——实施智慧工地安全帽识别系统。本文将对这一创新举措进行简要介绍。 项目背景 深圳自贸中心,作为一项标志性建设项目,承载着城市发展…...

代码之外:工程师的成长进阶秘籍

程序员只懂技术能行吗? 为什么说技术人员“说”和“写”总得擅长一个? 你以为的“关注结果”是真的结果吗? 从一线工程师跃升团队管理者一共分几步? 在不断变化的职场环境中,技术人如何保持竞争力并实现自我增值&a…...

openssl3.2 - 官方demo学习 - smime - smsign2.c

文章目录 openssl3.2 - 官方demo学习 - smime - smsign2.c概述笔记END openssl3.2 - 官方demo学习 - smime - smsign2.c 概述 PKCS7联合签名 从N张证书中, 分别得到N对(x509和私钥) 对明文进行签名(只是指定了bio_in和flag), 得到pkcs7* 对此pkcs7进行附加签名者的操作(指定证…...

6.C++对象模型

一.成员变量和成员函数分开存储&#xff1a; 在C中&#xff0c;类的成员变量和成员函数分开存储&#xff0c;只有非静态成员变量在属于类的对象上。 1.空对象的所占内存大小&#xff1a; //成员变量和成员函数分开存储 class Person {};void test() {Person p;cout << &…...

AbstractHttpMessageConverter + easyexcell优雅下载附件

介绍 AbstractHttpMessageConverter 是 Spring 框架中用于处理 HTTP 消息转换的抽象基类。它用于处理来自 HTTP 请求的消息,并将其转换为特定的 Java 对象,或者将 Java 对象转换为 HTTP 响应消息。 这个抽象类允许开发人员创建自定义的 HTTP 消息转换器,以便在 Spring MVC…...

虚拟线程探索与实践

优质博文&#xff1a;IT-BLOG-CN 一、简介 虚拟线程是轻量级线程&#xff0c;极大地减少了编写、维护和观察高吞吐量并发应用的工作量。虚拟线程是由JEP 425提出的预览功能&#xff0c;并在JDK 19中发布&#xff0c;JDK 21中最终确定虚拟线程&#xff0c;以下是根据开发者反馈…...

openssl3.2 - 官方demo学习 - mac - poly1305.c

文章目录 openssl3.2 - 官方demo学习 - mac - poly1305.c概述笔记END openssl3.2 - 官方demo学习 - mac - poly1305.c 概述 MAC算法为Poly1305, 加密算法为AES-128-ECB, 用key初始化加密算法 加密算法进行padding填充 对加密算法的key加密, 放入MAC_key后16字节, 将MAC_key的…...

【Python 千题 —— 基础篇】不吉利的数字

题目描述 题目描述 在西方,“13”被称为不吉利的数字,这是因为耶稣与13个弟子共进晚餐时耶稣的第13个弟子出卖了耶稣,且耶稣受难的日期是13日。所以西方的门牌号会跳过13号,假设这栋楼有16户,请为这栋楼的每一户设立门牌号。 输入描述 无 输出描述 依次输出这栋楼每…...

3d模型未响应打不开怎么办---模大狮模型网

在进行3D建模和设计工作时&#xff0c;有时可能会遇到3D模型无法打开的情况&#xff0c;这给工作流程带来了困扰。本文将为您介绍一些常见的原因以及解决3D模型未响应无法打开问题的方法。 一、文件格式检查 首先&#xff0c;确保您使用的文件格式与所使用的软件兼容。不同的3…...

Java-NIO 开篇(1)

NIO简介 高性能的Java通信&#xff0c;离不开Java NIO组件&#xff0c;现在主流的技术框架或中间件服务器&#xff0c;都使用了Java NIO组件&#xff0c;譬如Tomcat、 Jetty、 Netty、Redis、RabbitMQ等的网络通信模块。在1.4版本之前&#xff0c; Java IO类库是阻塞式IO&…...

VSCode 插件推荐

前言 关于开发用的插件就不做赘述了&#xff0c;网上面有很多文章都做了推荐&#xff0c;本文推荐几个好看的插件。 文件图标主题 Vscode icons Material Icon Theme 字体主题 推荐 One Dark Pro 其他 推荐一个生成好看代码的网址 https://carbon.now.sh/...

摄像部分时序

&#xff08;1&#xff09;.,后摄像。 &#xff08;2&#xff09;.,前摄像。 RCAM_TO_LEDDRV_STROBE_EN_CONN表面意思是:后置摄像头到led驱动闪光灯_使能。从时序图中看起来是连接到U17的&#xff0c;发现果然如此。 闪光灯温度检测&#xff0c;是检测闪光灯的温度。所以时序图…...

为什么 Golang Fasthttp 选择使用 slice 而非 map 存储请求数据

文章目录 Slice vs Map&#xff1a;基本概念内存分配和性能Fasthttp 中的 SliceMap性能优化的深层原因HTTP Headers 的特性CPU 预加载特性 结论 Fasthttp 是一个高性能的 Golang HTTP 框架&#xff0c;它在设计上做了许多优化以提高性能。其中一个显著的设计选择是使用 slice 而…...

深度解析:如何构建企业级云存储解决方案的阿里云OSS SDK实战指南

深度解析&#xff1a;如何构建企业级云存储解决方案的阿里云OSS SDK实战指南 【免费下载链接】alibabacloud-oss-sdk The OSS SDK. Powered by Darabonba. 项目地址: https://gitcode.com/gh_mirrors/al/alibabacloud-oss-sdk 阿里云对象存储服务&#xff08;OSS&#x…...

魔兽争霸3现代化修复指南:3步解决经典游戏兼容性问题

魔兽争霸3现代化修复指南&#xff1a;3步解决经典游戏兼容性问题 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 你是否还记得那个曾经风靡全球的《魔…...

多模型选型实验场景下Taotoken模型广场的价值与应用

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 多模型选型实验场景下Taotoken模型广场的价值与应用 在模型技术快速迭代的今天&#xff0c;无论是学术研究还是产品开发&#xff0…...

突发环境事件怎么模拟?用Python+GIS实现高斯烟团模型(附完整代码)

突发污染事件动态模拟&#xff1a;Python与GIS融合的高斯烟团建模实战 化工泄漏、危险品运输事故等突发环境事件往往需要快速响应与精准评估。传统烟羽模型在瞬态污染场景中存在局限性&#xff0c;而高斯烟团模型凭借其动态扩散模拟能力成为应急决策的利器。本文将手把手带您实…...

告别折腾:esir高大全版OpenWrt软路由安装后,必做的5项安全与性能优化设置

软路由进阶指南&#xff1a;esir高大全版OpenWrt安装后的5项关键优化 对于已经完成esir高大全版OpenWrt软路由基础安装的用户而言&#xff0c;真正的挑战才刚刚开始。一套配置得当的软路由系统不仅能提供稳定的网络环境&#xff0c;更能释放硬件全部潜能。本文将深入探讨五项关…...

Fusion360新手必看:这10个隐藏快捷键和技巧,让你建模效率翻倍

Fusion360效率革命&#xff1a;10个被低估的实战技巧与深度应用 第一次打开Fusion360时&#xff0c;我被它复杂的界面吓到了——工具栏密密麻麻的图标&#xff0c;嵌套多层的右键菜单&#xff0c;还有那些隐藏在角落里的功能选项。直到一位资深用户向我演示了如何用长按左键快…...

5分钟掌握WeKWS:打造智能设备的语音唤醒终极指南

5分钟掌握WeKWS&#xff1a;打造智能设备的语音唤醒终极指南 【免费下载链接】wekws Production First and Production Ready End-to-End Keyword Spotting Toolkit 项目地址: https://gitcode.com/gh_mirrors/we/wekws 在人工智能时代&#xff0c;智能设备如何快速响应…...

城市供水管网抗震可靠性分析方法与系统开发【附程序】

✨ 长期致力于供水管网、抗震可靠性、修复策略、震害预测、系统开发研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;场地效应预测模型与管道地震易损性…...

【Qt学习】基本类型、日志输出、字符串、QVariant

文章目录基本数据类型日志输出Qt Creator中看日志单独控制台看日志字符串类型示例字符串拼接字符串长度QVariant示例变量相加自定义类型前文回顾&#xff1a; 【Qt学习】Windows上环境配置与项目初识 【Qt学习】三个窗口类、坐标系、内存回收 基本数据类型 Qt基本数据类型定义…...

AI气象模型统一基准:可复现、多源真值、时空一致的评测标尺

1. 这不是又一个“天气数据集”&#xff0c;而是一把标尺&#xff1a;为什么AI气象建模急需统一基准“AI Weather Models”这个词组最近两年在气象学会议、AI顶会和工业界技术白皮书里出现的频率&#xff0c;已经快赶上“大模型”本身了。但我和团队在去年参与三个不同机构的AI…...