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用户窗体中添加按钮,并进行选择相关推荐

  1. 在GridView中添加按钮后,如何触发按钮的各种事件?

    //在GridView中添加按钮后,如何触发按钮的各种事件? 1.在GridView的"编辑列"属性窗口中,增加新的Botton列. 2.然后再该窗口右边属性中,将外观项下的But ...

  2. OAF在打开的新页面中添加按钮,功能是关闭当前页面

    OAF在打开的新页面中添加按钮,功能是关闭当前页面 javascript:close()

  3. java表格怎么添加按钮_1.6.2 在表格中添加按钮

    1.6.2  在表格中添加按钮 表格用于显示复合数据,其中可以指定表格的表头和表文.默认的表格控件完全是  以文本方式显示目标数据,要实现在表格中添加按钮或其他组件就要通过设置自定义的  渲染器来实现 ...

  4. java按钮添加事件_java中添加按钮并添加响应事件的方法(推荐)

    关于java容器,面板等自行百度学一下吧 private button loginbtn = new button("登陆"); final static jframe buyer ...

  5. java jtable 按钮_java web 怎么在jtable中添加按钮?

    展开全部 java web在jtable中添加按钮的示例如下:import java.awt.BorderLayout; import java.awt.Color; import java.awt. ...

  6. 窗体中添加标签Label、Icon图标

    http://lixiyu.blog.51cto.com/4136883/1312248(原文) 一,在窗体中创建一个带有指定文本的标签对象并添加一个图像 实现界面: 详细代码: 1 2 3 4 5 ...

  7. C# 创建Excel,读取mdb数据库,写入Excel数据,获取mdb中所有表格名字,选择多个文件

    C# 创建Excel,读取mdb数据库,写入Excel数据,获取mdb中所有表格名字,选择多个文件 1.创建Excel表 使用OleDbCommand类执行SQL语句即可,代码如下 /// <s ...

  8. Excel 2010 VBA 入门 140 在功能区添加按钮并运行VBA程序

    目录 题 码 回调(CallBack) IRibbonControl对象 题 如图所示,该表为员工档案.为了避免该表的数据被修改,该表已经被保护.如何在功能区添加一个按钮,当单击该按钮后可以将该表的数 ...

  9. excel vba 使用mschart_VBA专题108:使用VBA操控Excel界面之在功能区中添加内置控件...

    学习Excel技术,关注微信公众号: excelperfect 本文重点讲解如何在功能区中添加不同类型的内置控件. 添加普通按钮和切换按钮 按下面的步骤来添加普通按钮和切换按钮(例如,拼写和删除线控件 ...

最新文章

  1. 玩转双核CPU:左手画圆,右手画方
  2. 快速建站的php开源程序
  3. python的应用领域有哪些、选择题_Python程序的设计复习题与答案
  4. 为学Linux,我看了这些书
  5. 网站站内优化新方案,SEO运营人员值得一看
  6. 二级c语言上机编程技巧,二级C语言上机编程题技巧总结
  7. SpringBoot v2.2.6 踩的坑 --- dubbo.scan.base_packages
  8. python异常处理_Python基础语法案例(Fibonacci):选择结构、循环结构、异常处理结构、代码优化...
  9. 实例12:python
  10. java xml数据解析_java xml解析,数据读取
  11. 数据结构---array
  12. vs2012安装过程 1006
  13. (01)FPGA时序分析概念
  14. 基于JAVA+SpringMVC+Mybatis+MYSQL的学生课堂考勤管理系统
  15. coreldraw怎么打印荣誉证书_使用Word 2010制作并打印荣誉证书的方法
  16. H桥驱动芯片IR2110功能简介
  17. matlab常用插值函数
  18. 查看微信小程序的累计独立访客(UV)
  19. 微信强制性诱导分享php,微信公众号运营者注意了,下面这些诱导分享到朋友圈都是不可以的...
  20. Sage x3周期性凭证帮助企业提升财务效率

热门文章

  1. 什么样的简单粗暴才能颠覆你对顺风车拼车打车成品软件的三观?
  2. 【全志T113-S3_100ask】7-编译Tina系统初体验
  3. 华尔街日报中文网络版
  4. 通过股市悖论学会一种投资
  5. 学习java要经常溜达的网站
  6. os判断文件是否存在不存在创建
  7. 使用切线法求解方程零点
  8. 【MM小贴士】SCAT-批量删除预制发票的学习
  9. 腾讯服务器维护公告,腾讯内容开放平台
  10. 如何使用支付宝沙箱测试单笔转账到支付宝账号(php版)