Excel VBA UserForm用户窗体中添加按钮,并进行选择
1、插入一个用户窗体
需要在用户窗体中加入按钮的,则需要打开“工具箱”
插入控件按钮
2、代码编写
(1)、首先在sheet中添加一个按钮,来显示用户窗体,查看效果
Private Sub CommandButton1_Click()UserForm1.Show
End Sub
鼠标单击CommandButton1出现如下窗口,这是未对窗口进行任何代码编写的效果。
(2)、在用户窗体中编写代码,打开编写界面
两个主要函数
Private Sub UserForm_Initialize()code
End SubPrivate Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)code
End Sub
UserForm_Initialize是窗体初始化函数,对窗体的高度宽度等一系列初始化操作区域。只要使用UserForm1.Show就会调用这一函数。
UserForm_QueryClose是窗体点右上角那个x之后,将调用该函数。
(3)、实际应用
将实现的功能:
读取所有sheet的名字
显示在窗体上
通过在窗体上选择想要的sheet的名字,输出打印到sheet1的单元格A1中。
将按钮修改名称为“确定”,点击确定即为确定选择内容,点击右上角的x,即为放弃修改。
最终效果:
Private Sub 确定_Click()Sheet1.Range("A1:Z1").ClearContentsCall ProcessUnload UserForm1
End Sub
Private Sub Process()Dim TNum As IntegerDim flag As Integerflag = 0TNum = 0On Error Resume NextFor i = 0 To UserForm1.Controls.Count - 1If UserForm1.Controls(i) = True ThenSheet1.Cells(1, 1) = Sheet1.Cells(1, 1) & " " & UserForm1.Controls(i).CaptionEnd IfNext
End Sub
Private Sub UserForm_Initialize()Dim sheetNameArr() As StringDim sheetnum As IntegerFor Each sht In Worksheetssheetnum = sheetnum + 1NextReDim sheetNameArr(0 To sheetnum)sheetnum = 0For Each sht In WorksheetssheetNameArr(sheetnum) = sht.Namesheetnum = sheetnum + 1Nextsheetnum = UBound(sheetNameArr) + 1'Fix是向下取整counts = Fix(sheetnum / 10) + 1'设置窗体高度和宽度UserForm1.Width = 150 * counts '每增加1列宽度加150。If sheetnum < 11 Then UserForm1.Height = 20 * sheetnum + 50If sheetnum > 10 Then UserForm1.Height = 250'设置按钮的高度宽度以及相对窗体的位置UserForm1.确定.Width = 100UserForm1.确定.Height = 25UserForm1.确定.Top = UserForm1.Height - 50UserForm1.确定.Left = (UserForm1.Width - 100) / 2For X = 1 To countsY = 10 * X '每列显示10个控件If X = 1 Then '开始第1列显示Start = 2Ends = 11Else '换列显示Start = Ends + 1Ends = Y + 1End IfIf Ends > sheetnum Then '防止溢出Ends = sheetnumEnd IfFor i = Start To Ends '循环生成控件Set ChkBox = UserForm1.Controls.Add("Forms.CheckBox.1", "Chk" & Str(i))If i > 11 Thentops = 2 + 20 * (i - Y + 8) '换列后的控件高度坐标Elsetops = 2 + 20 * (i - 2)End IfChkBox.Top = topsChkBox.Height = 25 '控件的高度ChkBox.Width = 200 '控件的宽度ChkBox.Left = 20 + 150 * (X - 1) '220 换列后的横坐标ChkBox.Caption = sheetNameArr(i - 2) '控件显示的标题Set ChkBox = NothingNextNextEnd Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
End Sub
https://download.csdn.net/download/qq_39629993/12693907
Excel VBA UserForm用户窗体中添加按钮,并进行选择相关推荐
- 在GridView中添加按钮后,如何触发按钮的各种事件?
//在GridView中添加按钮后,如何触发按钮的各种事件? 1.在GridView的"编辑列"属性窗口中,增加新的Botton列. 2.然后再该窗口右边属性中,将外观项下的But ...
- OAF在打开的新页面中添加按钮,功能是关闭当前页面
OAF在打开的新页面中添加按钮,功能是关闭当前页面 javascript:close()
- java表格怎么添加按钮_1.6.2 在表格中添加按钮
1.6.2 在表格中添加按钮 表格用于显示复合数据,其中可以指定表格的表头和表文.默认的表格控件完全是 以文本方式显示目标数据,要实现在表格中添加按钮或其他组件就要通过设置自定义的 渲染器来实现 ...
- java按钮添加事件_java中添加按钮并添加响应事件的方法(推荐)
关于java容器,面板等自行百度学一下吧 private button loginbtn = new button("登陆"); final static jframe buyer ...
- java jtable 按钮_java web 怎么在jtable中添加按钮?
展开全部 java web在jtable中添加按钮的示例如下:import java.awt.BorderLayout; import java.awt.Color; import java.awt. ...
- 窗体中添加标签Label、Icon图标
http://lixiyu.blog.51cto.com/4136883/1312248(原文) 一,在窗体中创建一个带有指定文本的标签对象并添加一个图像 实现界面: 详细代码: 1 2 3 4 5 ...
- C# 创建Excel,读取mdb数据库,写入Excel数据,获取mdb中所有表格名字,选择多个文件
C# 创建Excel,读取mdb数据库,写入Excel数据,获取mdb中所有表格名字,选择多个文件 1.创建Excel表 使用OleDbCommand类执行SQL语句即可,代码如下 /// <s ...
- Excel 2010 VBA 入门 140 在功能区添加按钮并运行VBA程序
目录 题 码 回调(CallBack) IRibbonControl对象 题 如图所示,该表为员工档案.为了避免该表的数据被修改,该表已经被保护.如何在功能区添加一个按钮,当单击该按钮后可以将该表的数 ...
- excel vba 使用mschart_VBA专题108:使用VBA操控Excel界面之在功能区中添加内置控件...
学习Excel技术,关注微信公众号: excelperfect 本文重点讲解如何在功能区中添加不同类型的内置控件. 添加普通按钮和切换按钮 按下面的步骤来添加普通按钮和切换按钮(例如,拼写和删除线控件 ...
最新文章
- 玩转双核CPU:左手画圆,右手画方
- 快速建站的php开源程序
- python的应用领域有哪些、选择题_Python程序的设计复习题与答案
- 为学Linux,我看了这些书
- 网站站内优化新方案,SEO运营人员值得一看
- 二级c语言上机编程技巧,二级C语言上机编程题技巧总结
- SpringBoot v2.2.6 踩的坑 --- dubbo.scan.base_packages
- python异常处理_Python基础语法案例(Fibonacci):选择结构、循环结构、异常处理结构、代码优化...
- 实例12:python
- java xml数据解析_java xml解析,数据读取
- 数据结构---array
- vs2012安装过程 1006
- (01)FPGA时序分析概念
- 基于JAVA+SpringMVC+Mybatis+MYSQL的学生课堂考勤管理系统
- coreldraw怎么打印荣誉证书_使用Word 2010制作并打印荣誉证书的方法
- H桥驱动芯片IR2110功能简介
- matlab常用插值函数
- 查看微信小程序的累计独立访客(UV)
- 微信强制性诱导分享php,微信公众号运营者注意了,下面这些诱导分享到朋友圈都是不可以的...
- Sage x3周期性凭证帮助企业提升财务效率