实现在列表框内及列表框间实现数据拖动:在工作表界面窗体的加载

《VBA高级应用30例》(版权10178985),是我推出的第十套教程,教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开,这套教程案例与理论结合,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中分发VBA程序,写好的程序可以升级。本套教程共三册三十个专题,本讲的内容是:VBA高级应用30例应用2实现在列表框内及列表框间实现数据拖动:在工作表界面窗体的加载c45371427db1476dcbdf9b0e19cd41c7.jpeg

分享成果,随喜正能量】 我们能在生时多做善事,则临死何惧?我们能在平日贡献社会,则虽死犹生。。

应用2 在列表框内及列表框间实现数据拖动

4 在工作表界面窗体的加载

这部分中我给大家讲解一种窗体的加载,这种加载方式在我其他教程中没有介绍过的,也是非常有意思的,大家看下面的代码:

Sub mynzFormShow()

Dim frmDD As mynzForm1

Set frmDD = New mynzForm1

frmDD.Show

Unload frmDD

Set frmDD = Nothing

End Sub

代码的截图:

29bffdf80c3e226212394028e6e702b2.jpeg

在以上的代码中我们利用了一个set语句来加载一个新的窗体类对象,我们看一下对于SET语句的讲解:

  • Set 语句:将对象引用分配给变量或属性。

语法:Setobjectvar = {[New]objectexpression|Nothing}

参数的讲解:

Part

说明

备注

objectvar

必填。

变量或属性的名称;遵循标准变量命名约定。

New

可选。

在声明以启用隐式对象创建的过程中,经常使用 New。 在将 New 与 Set 结合使用时,它将创建 类的新实例。 如果 objectvar 包含对某个对象的引用,则该引用将在分配新的引用时发布。 New 关键字不能用于创建任何固有对象的新数据类型并且不能用于创建依赖对象。

objectexpression

必填。

 表达式包含对象的名称、同一对象类型的另一个声明变量或返回相同对象类型的对象的函数或方法。

Nothing

可选。

中断 objectvar 与任何特定对象的关联。 将 Nothing 分配给 objectvar 将释放与之前引用的对象关联的所有系统和内存资源,当任何其他变量都未引用该对象时。

上述过程中是一个新的实例加载,哦,就像是一个影子的虚幻,这也是类的本质。

5 代码的运行结果

1)点击列表框项目的拖动按钮:

d23cdc82e6056b8390a0f6b5ed88fc8a.jpeg

2)列表框的加载:

8442a5b0d13feabf59eb6f2e69eef75b.jpeg

3)Item1的拖动:

03b05cd77f222720f5d48ac4da0576db.jpeg

3)将item1 在列表框2中拖动:

8b533a704ff6dab0c3da8a2a116c63e8.jpeg

结论: 在这个应用中,给大家详细讲解了如何实现列表框中项目的拖动。在本专题的开篇我讲过,实现项目的拖动在VBA中是比较困难的事情,一是要确定哪些项目被选择,一是要确定拖动到哪里。在本专题中我借助于类来实现这个目的。这个专题也是类应用的一个典型的应用,希望大家借助于虚无的类完成事件的应用处理。

当然,这个专题的代码还有些不完善,需要大家一起努力,完善自己的应用。

今日内容回向:

1 列表框应用中要实现项目的拖动的思路是什么?

2 本文中类模块的主要作用是什么?

3 本文中类的实例化是在哪里完成的?

a89c01cd2d4617c6e43ea7ecf1a57d57.jpeg

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

ac4b1d448f28b9be6bffcd3ce9f14192.jpeg


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

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

相关文章

three-platformize 微信小程序 uniapp 使用截图功能

最近需要将3d场景进行截图,但是网上的各种各样,看的我一团乱麻,因此在解决完后就将这些简单的分享一下; 原理:将3维场景的那个canvas中的像素提取出来,找一个空的canvas二维画布放上去,然后用二…

jitsi 使用JWT验证用户身份

前言 Jitsi Meet是一个很棒的会议系统,但是默认他运行所有人创建会议,这样在某种程度上,我们会觉得他不安全,下面我们就来介绍下使用JWT来验证用户身份 方案 卸载旧的lua依赖性sudo apt-get purge lua5.1 liblua5.1-0 liblua5.1-dev luarocks添加ubuntu的依赖源,有则不需…

运维锅总详解设计模式

本首先简介23种设计模式,然后用Go语言实现这23种设计模式进行举例分析。希望对您理解这些设计模式有所帮助! 一、设计模式简介 设计模式是软件设计中用于解决常见设计问题的一套最佳实践。它们不是代码片段,而是解决特定问题的通用方案。设…

Xilinx 的aarch32 aarch64 armr5 编译器区别

对于 Xilinx 设备,特别是使用 Vivado 或 Vitis IDEs 开发的那些,针对不同 ARM 架构如 aarch32、aarch64 和 ARM R5,使用的编译器也会有所不同。以下是这些架构在 Xilinx 开发环境中常用的编译器: 1. AArch32 (ARM 32位) 对于 Xi…

给元素的margin-top/top设置百分比,是基于什么进行计算?

1、普通元素 margin-top:基于父元素的宽度计算 2、relative元素 margin-top:基于自身的宽度计算top:基于自身的宽度计算 3、absolute元素 margin-top:基于最近一级的非static元素的宽度计算top:基于最近一级的非s…

Apache AGE 安装部署

AGE概述 概述 我们可以通过源码安装、拉取docker镜像运行、直接使用公有云三种方式中的任意一种来使用Apache AGE 获取 AGE 发布版本 可以在 https://github.com/apache/age/releases 找到发布版本和发布说明。 源代码 源代码可以在 https://github.com/apache/age 找到…

PowerShell install 一键部署mysql 9.0.0

mysql 前言 MySQL 是一个基于 SQL(Structured Query Language)的数据库系统,SQL 是一种用于访问和管理数据库的标准语言。MySQL 以其高性能、稳定性和易用性而闻名,它被广泛应用于各种场景,包括: Web 应用程序:许多动态网站和内容管理系统(如 WordPress)使用 MySQL 存…

vite项目使用qiankun构建hash路由微前端

文章目录 前言一、主应用使用react18 react-router-dom61、项目安装2、主应用中注册微应用3、主应用中设置路由和挂载子应用的组件 二、创建react18 react-router-dom6子应用1、项目安装2、修改子应用 vite.config.ts3、修改子应用 main.tsx,区分qiankun环境和独立部署环境4、…

mybatis-plus中的方法的作用

在MyBatis-Plus中,这些方法是用于构建查询条件或排序条件的工具,它们大多属于com.baomidou.mybatisplus.core.conditions.query.QueryWrapper、UpdateWrapper或类似的包装器类中,用于构建复杂的SQL查询或更新语句。这些方法通过链式调用的方式…

【割点 C++BFS】2556. 二进制矩阵中翻转最多一次使路径不连通

本文涉及知识点 割点 图论知识汇总 CBFS算法 LeetCode2556. 二进制矩阵中翻转最多一次使路径不连通 给你一个下标从 0 开始的 m x n 二进制 矩阵 grid 。你可以从一个格子 (row, col) 移动到格子 (row 1, col) 或者 (row, col 1) ,前提是前往的格子值为 1 。如…

日志无界:Eureka中服务的分布式日志记录策略

日志无界:Eureka中服务的分布式日志记录策略 引言 在微服务架构中,服务的分布式日志记录对于监控、故障排查和安全审计至关重要。Eureka作为Netflix开源的服务发现框架,虽然本身不直接提供日志记录功能,但可以与其他日志记录工具…

AE常用工具

目录 图形工具(快捷键Q) 选取工具(快捷键V) 抓手工具(快捷键H或空格) 放缩工具(快捷键Z或滚动滑轮) 图形工具(快捷键Q) 按住alt并点击,可切换…

单目深度估计部署 rk3588

搞了一小段时间的单目深度估计,目标是在板端部署用起来,但由于基于开源数据或开源模型,将模型估计的相对深度转换成绝对深度误差非常大(或许是转换方法有问题),另一方面如何具体的在项目中用起来还没好的想…

huggingface登不进去?

HF-Mirror点这个镜像网站

二重积分 - 包括计算方法和可视化

二重积分 - 包括计算方法和可视化 flyfish 计算在矩形区域 R [ 0 , 1 ] [ 0 , 2 ] R [0, 1] \times [0, 2] R[0,1][0,2] 下,函数 z 8 x 6 y z 8x 6y z8x6y 的二重积分。这相当于计算曲面 z 8 x 6 y z 8x 6y z8x6y 与 xy 平面之间的体积。 二重积分…

【LeetCode】赎金信

目录 一、题目二、解法完整代码 一、题目 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使…

UMI HTTP接口手册

Translate to English 命令行手册: README_CLI.mdHTTP接口手册: README_HTTP.md HTTP接口手册 (本文档仅适用于 Umi-OCR 最新版本。旧版本请查看 Github备份分支 中对应版本的文档。) 基础说明 如上图,必须允许HTT…

MySQL篇五:基本查询

文章目录 前言1. Create1.1 单行数据 全列插入1.2 多行数据 指定列插入1.3 插入否则更新1.4 替换 2. Retrieve2.1 SELECT 列2.1.1 全列查询2.1.2 指定列查询2.1.3 查询字段为表达式2.1.4 为查询结果指定别名2.1.5 结果去重 2.2 WHERE 条件2.2.1 练习 2.3 结果排序2.3.1 练习 …

Java内存区域与内存溢出异常(补充)

2.2.5 方法区 方法区(Method Area)与Java堆一样,是各个线程共享的内存区域,它用于存储已被虚拟机加载的类型信息、常量、静态变量、即时编译器编译后的代码缓存等数据。虽然《Java虚拟机规范》中把方法区描述为堆的一个逻辑部分,但是它却有一…

分布式事务Seata AT 详解

AT模式 一阶段: 向seata server端申请全局事务id,传递给下游参与服务 执行各个本地事务,在事务执行前后记录seata自己的undo log/imag (用于回滚)到表中,该表为根据官网手动创建 各个本地事务申请全局锁 申请成功提…