VBA编程通过实例教你如何使用Form用户窗体

本期给大家介绍用户界面的开发(Form用户窗体)以及一组实用工具

可能还有人不清楚什么是用户窗体?编写代码时经常会需要开发界面,方便用户输入信息,交互性好、用户体验也比较友好,比如用户登录界面,需要输入账号信息;还有上一期我们开发的自动生成口算自动化小工具也需要输入一些信息,也是用的用户窗体实现的。

闲话不多说,进入本期主题,带着具体的实例介绍它是怎么实现的吧。

创建用户窗体

插入窗体

在对应的Project下选择ThisWorkbook鼠标右键,选择插入里面的用户窗体,如下图:

显示窗体

添加完成后,一个空白的用户窗口(默认UserForm1)界面显示如下:

编辑用户窗体

添加控件

增加一些工具,如按钮、组合框、文本框、标签,根据需要可以将工具箱里的控件添加到用户窗口。

任意点击一个控件,鼠标在用户窗口会显示成一个十字,固定一个位置通过拖拽鼠标画出该控件,用户窗口和控件都可以调整大小。

如下实例,我增加了一个组合框(可以理解为下拉列表)、一个标签和一个按钮

修改控件属性

系统都给了默认的描述,如UserForm1、 Label1、和CommandButton1,但为了方便理解,我们可以对其进行修改。要想修改就要到属性窗口中了,属性窗口在左下角,红框的就是了。

我们用Label(标签)举例说明:选中Label1,找到它的Caption属性,将默认的“Label1”替换成“员工部门”即可,同样方法把其他控件都改完显示如下,是不是一下子就清楚它的功能啦?

初始化用户窗口

既然要选择,复合框内的下拉列表是不是要预先有内容才行呀?所以就需要预先设置一些数据,此处通过一个初始化的函数就可以实现了,双击用户窗口进入代码编辑窗口。

复合框内数据固定

编写代码:

Private Sub UserForm_Initialize()  '窗体初始化
    UserForm1.ComboBox1.AddItem "销售部" 'ListIndex =0
    UserForm1.ComboBox1.AddItem "技术部"  'ListIndex = 1
    UserForm1.ComboBox1.AddItem "采购部"  'ListIndex = 2
    UserForm1.ComboBox1.AddItem "质管部"  'ListIndex = 3
    '使用下拉列表
    ComboBox1.Style = fmStyleDropDownList
    ComboBox1.BoundColumn = 0
    '把组合框设置为第一个条目
    ComboBox1.ListIndex = 0   '组合框值是 ListIndex 值
End Sub

复合框里面的数据变动频繁

那这种数据初始化,最好就通过Excel表维护,然后在用户窗口初始化程序中写个循环语句读取出来顺次加入就行了。

主程序执行,显示用户窗口

Private Sub main()
    UserForm1.Show '调用窗体
End Sub

点击“确认”按钮触发操作,提醒用户选择的部门信息并关闭用户窗口(数据已经传入,后续可以根据实际情况处理,不再赘述)

Private Sub CommandButton1_Click()
    Dim CbContent As String
    CbContent = ComboBox1.Text  '获取下拉列表选择的值
    MsgBox "当前文本框内容为: " & CbContent '获取到TextBox1输入的内容了呀
    UserForm1.Hide  '关闭用户窗口
End Sub

查看运行结果

程序启动

显示用户窗口,下拉列表默认显示的是第一个部门“销售部”:

程序运行

程序运行后,就可以点下拉列表选择部门信息了

至此我们的窗口就创建好了,咱们下期接着分享,敬请期待吧!

我的分享对你有帮助的话,麻烦点赞、加关注支持一下吧,你的支持就是我最大的创作动力!

内容概要:本文针对高渗透率分布式光伏与储能变流器接入配电网所带来的运行挑战,深入研究了传统跟网型(GFL)逆变器在电网故障、弱电网及孤岛工况下易失稳脱网,以及构网型(GFM)虚拟同步发电机(VSG)逆变器在并网状态下缺乏同步调节能力的技术瓶颈,提出了一种可实现GFL与GFM双向平滑切换的先进控制策略。研究首先构建了GFL与GFM共用的硬件平台与内环控制基础,继而系统性地设计了基于关键电气量实时监测的切换判据、精确的双向切换时序逻辑,并创新性地引入了过渡过程的平滑抑制策略,以有效抑制切换瞬间的有功功率冲击、电压闪变与频率突变。全文在Matlab/Simulink环境中搭建了完整的仿真模型,通过对并网转孤岛、孤岛转并网等多种工况的动态仿真,全面验证了所提策略的有效性,结果表明该方法能确保系统在模式切换过程中电压、电流与频率的平稳过渡,显著提升了微电网在复杂运行条件下的韧性、稳定性与供电可靠性。; 适合人群:从事电力电子、新能源并网、微电网控制、智能配电网等领域的高校研究生、科研院所研究人员及电力系统相关企业的工程技术人员。; 使用场景及目标:① 解决高比例可再生能源接入引发的电网稳定性与电能质量问题;② 实现微电网在并网与孤岛两种运行模式间的无缝、可靠切换,保障重要负荷的不间断供电;③ 为构网型与跟网型逆变器的协同运行、新型电力系统构建提供先进的控制理论依据与可落地的技术解决方案。; 阅读建议:建议结合文中提供的Simulink仿真模型进行深入学习,重点剖析切换逻辑模块的设计原理与参数整定方法,通过反复观察和分析不同工况下的仿真波形,深刻理解平滑切换过程中的动态响应机理与控制思想。
内容概要:本文提出了一种基于粒子群算法(PSO)优化模糊C均值(FCM)聚类的居民用电行为分析方法,旨在解决传统FCM算法对初始聚类中心敏感、易陷入局部最优解的问题。通过引入PSO算法全局寻优能力,优化FCM的初始聚类中心选择,显著提升了聚类结果的准确性与稳定性。研究结合Matlab平台实现了算法仿真与实证分析,有效挖掘出居民用电负荷的典型模式,为电力系统的需求侧管理、精细化负荷预测及个性化用电服务提供了可靠的数据分析基础和技术支撑。; 适合人群:具备一定电力系统基础知识与Matlab编程能力,从事电力大数据分析、智能电网、负荷特性研究、需求响应等相关领域的科研人员、高校研究生及工程技术开发者。; 使用场景及目标:①应用于居民用电数据的聚类分析,识别不同用户的典型用电模式与行为特征;②优化传统FCM算法性能,提升聚类过程的鲁棒性与收敛效率;③为电力公司制定差异化电价策略、实施精准需求响应措施以及开展用户画像构建提供科学依据。; 阅读建议:读者应结合Matlab代码实现部分,深入理解PSO优化FCM的整体流程,重点关注适应度函数的设计原则、PSO关键参数(如惯性权重、学习因子)的设定及其对聚类效果的影响,并建议使用真实的居民用电数据集进行实验验证与参数调优,以充分掌握该方法的实际应用技巧。
内容概要:本文系统研究了可切换构网型(Grid-Forming)与跟网型(Grid-Following)逆变器在微电网运行中的双向平滑切换控制策略,旨在解决孤岛与并网模式切换过程中常见的频率、电压突变问题,提升系统稳定性与电能质量。研究融合事件触发机制与分布式协同控制理论,设计了高效的二次频率与电压恢复控制策略,并通过Simulink搭建完整的微电网仿真模型进行验证。文中还深入探讨了通信优化、抗DoS攻击的弹性控制机制等关键技术,体现了对现代智能微电网在高可靠性、高灵活性运行方面的综合控制需求,适用于IEEE/SCI高水平期刊研究成果的复现与拓展。; 适合人群:具备电力电子、自动控制或微电网相关专业知识,从事新能源发电、智能电网、分布式能源系统等方向研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 深入理解构网型与跟网型逆变器的工作原理及其模式切换的技术难点;② 掌握基于事件触发与分布式协同的微电网二次控制策略设计方法;③ 在Simulink环境中实现微电网多运行模式的建模与仿真,支撑学术论文复现、科研课题推进或实际工程项目开发; 阅读建议:建议结合文中提及的IEEE/SCI顶刊复现案例,循序渐进地学习控制策略的设计逻辑与仿真实现细节,重点关注模式切换的触发条件设定、控制器参数整定及系统稳定性分析,同时可利用提供的网盘资源获取完整仿真模型与代码,以加快学习与研究进程。
内容概要:本文提出了一种融合元胞自动机邻域驱动遗传算法与关键工序定向随机重启爬山算法(GA-RRHC)的混合优化方法,用于求解高柔性柔性作业车间调度问题(FJSSP),以实现最小化最大完工时间的目标。该算法通过元胞自动机构建动态邻域结构,增强种群多样性与搜索效率,结合遗传算法的全局探索能力和随机重启爬山算法的局部精细化优化能力,并引入关键路径识别机制指导搜索方向,有效避免陷入局部最优。整个方法在Matlab平台上实现了完整的算法流程与仿真实验,验证了其在复杂调度场景下的优越性能与鲁棒性,适用于高柔性制造系统的生产调度优化需求。; 适合人群:具备一定编程基础和运筹优化背景,从事智能制造、工业工程、自动化或相关领域研究的研发人员及研究生(工作或学习年限1-3年)。; 使用场景及目标:①解决高柔性作业车间中多工序、多设备、多约束条件下的调度优化难题;②研究混合智能优化算法的设计与实现机制,特别是遗传算法与局部搜索策略的融合方式;③为实际生产系统提供高效的调度方案,缩短生产周期,提高资源利用率。; 阅读建议:此资源以Matlab代码为核心载体,强调算法实现与仿真实验的结合,建议读者在阅读过程中动手运行并调试代码,深入理解元胞邻域构造、关键路径识别及随机重启机制的作用,同时可拓展应用于其他组合优化问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wei1019

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值