首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

列出用户窗体中所有控件

标签:VBA,用户窗体 下面的过程能够在指定工作表中列出指定用户窗体中所有控件的名称: Sub ListControls() Dim lCntr As Long Dim aCtrls() As Variant...Dim ctlLoop As MSForms.Control '修改用户窗体名称为实际名称 For Each ctlLoop In UserForm1.Controls lCntr =..."Sheet1").Range("A1").Resize(UBound(aCtrls)).Value = Application.Transpose(aCtrls) End Sub 你需要将代码中用户窗体名称...UserForm1修改为你想要列出控件的用户窗体实际名称,将工作表名称Sheet1修改为你想要放置所列控件名称的工作表实际名称。...这段程序代码很简洁,但使用了数组及实时调整数组大小并保留数组原内容、给工作表单元格区域一次性赋值等技术,有兴趣的朋友可以自己体味。 VBA代码并不一定需要很长,短短的几句代码往往起到的作用更大。

12710
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    窗体UserForm——选项按钮

    由于不确定工作表的数量,所以不能通过拖拽的方式添加指定数量的控件,这时候就需要用到UserForm的Initialize事件,在UserForm初始化的时候来添加控件,首先仍然拖拽一个命令按钮在窗体的最上面...控件的Top 、Height、Left、Caption等属性,都可以通过窗体设计界面,先拖拽一个相应的控件,然后在属性窗口查看控件所具有的属性。...编辑按钮的激活工作表代码: Private Sub CommandButton1_Click() Dim i As Long Dim t As Control '遍历窗体上的控件...For i = 0 To Me.Controls.Count - 1 '找到的是MSForms.OptionButton控件 If VBA.TypeName(Me.Controls...,窗体界面显示的时候所有工作表都可以在上面选择了,然后点激活按钮就可以激活相应的工作表: ? 这样用代码的方式添加控件也让使用者更方便的控制控件的位置,修改起来也更灵活。

    1.8K10

    代码分享:高亮显示鼠标移动到的用户窗体上的控件

    这是在vbaexpress.com上找到的一段代码,非常有意思,当鼠标移动到用户窗体中的控件上时,该控件会高亮显示。这可以让我们将用户窗体界面设计得更好。 示例效果如下图1所示。...图1 代码如下: '声明默认的颜色 Const D_Lbl_Def_Bac As Long = 10066329 Const D_Lbl_Def_Bor As Long = 5066061 Const...D_Lbl_Def_FoCol As Long = 16579836 '声明鼠标移动到标签上时显示的颜色 Const D_Lbl_Move_Bac As Long = 13750737 Const...D_Lbl_Move_Bor As Long = vbWhite Const D_Lbl_Move_FoCol As Long = 6184542 '用于标记标签颜色是否更改的每个标签的布尔值 Dim...移动到这里2" 标签 Dim D_Bo_Lbl_3 As Boolean ' "移动到这里3" 标签 Dim D_Bo_Lbl_4 As Boolean ' "移动到这里4" 标签 '标签 1 的位置

    1.1K20

    类模块应用示例:获取单击的命令按钮名称

    标签:VBA,类模块,用户窗体 本示例演示,当用户单击用户窗体中的命令按钮时,会弹出该命令按钮名称信息。 这个示例来源于ozgrid.com,有兴趣的朋友可以研究。...在用户窗体上共有24个命令按钮,如下图1所示。 图1 当单击某个命令按钮时,会依次显示该命名按钮名称和标题信息,如下图2所示。...,添加控件,如上图1所示,在该用户窗体代码模块中,输入下面的代码: Dim mcolEvents As Collection Public Sub SelectedChange(objCtr) MsgBox..., 21, 22, 23, 24) Set cCBEvents = New clsFrmCtls Set cCBEvents.mFrm = Me cCBEvents.mName = Me.Controls...("CommandButton" & intCon).Name Set cCBEvents.mCommandbutton = Me.Controls("CommandButton" & intCon

    29530

    Excel实战技巧63: 制作具有数据导航功能的用户窗体

    设计用户窗体 在VBE中,插入一个用户窗体,在其中添加文本框、按钮、标签等控件,如下图1所示。 ?...这个用户窗体中的控件及相应的名称如下: 用户窗体名称:ufEmployee 用户窗体标题:员工记录 在用户窗体中,从上至下,从左至右,创建下面的控件: 员工ID文本框名称:tbxEEID Tag:Field0...,即处理数据和用户窗体中的控件。...上面的程序代码遍历用户窗体中所有的控件,如果控件具有像Field0、Field1、Field2等形式的标签(tag),就从记录集中获取与标签相同名称字段的数据来填充相应的文本框。...如果不带任何参数调用该程序,那么所有的按钮都是可用的。该程序遍历用户窗体中的所有按钮,将其Tag属性与参数列表对比,如果发现匹配则禁用该控件。该程序不会区分文本框、命令按钮或任何其它类型的控件。

    3.1K20

    用户窗体示例:工作表数据与用户窗体的交互

    这个示例仍然来自于thesmallman.com,演示了用户窗体如何与工作表中的数据进行交互:如何使用Excel工作表中的数据填充用户窗体,并将编辑后的数据发送回工作表;并且在这个例中,只需在用户窗体中输入一个关键字...建立一个好的用户窗体的关键是结构。理想情况下,用户窗体中的项目应该具有逻辑布局,以便在编写代码以将用户窗体信息发送到数据集时,可以使用顺序循环,而不是未排序的循环。...如果找到了这些项目,则会使用该唯一注册号中的记录填充用户窗体。如果找不到该注册号,将显示错误消息。 编辑用户窗体后,有一个“更新”按钮。...sh.Cells(fnd.Row, i).Value = frmeditrecord.Controls("editstudent" & i).Text Next i '清理用户窗体控件...For Each ctl In Me.Controls If TypeName(ctl) = "TextBox" Then ctl.Value = Null Next

    1.4K20

    使用Label标签控件模拟窗体标题的移动及窗体颜色不断变换

    一旦窗口捕获了鼠标,所有鼠标输入都针对该窗口,无论光标是否在窗口的边界内。同一时刻只能有一个窗口捕获鼠标。如果鼠标光标在另一个线程创建的窗口上,只有当鼠标键按下时系统才将鼠标输入指向指定的窗口。...而ReleaseCapture悄悄相反,函数的功能就是释放对鼠标的捕捉。 为什么要使用这个ReleaseCapture函数,原因在于移动窗体标题时,需要释放对鼠标的捕捉,否则,就不能移动窗体标题。...SendMessage函数:该函数是用来给窗体发送Windows消息, 在本文中,该函数是模拟给非窗体客户区域(如窗体标题、最大化、最小化及关闭按钮区域)发送Windows消息,使特定区域能收到拖动窗体标题的消息...二、构建模拟移动窗体标题的应用程序,在这里我们使用了一个label(左边,label1),用来将鼠标移到该控件并拖动时,可以移动窗体, 另外一个label(右边,label2)则用来关闭窗体,如下图所示...,因此需要使用ToolTip控件。

    1.6K00

    窗体UserForm——代码插入不定数量带事件的控件

    要实现点击选项按钮就激活工作表,显然需要插入的选项按钮具有某个事件,在使用代码插入控件的时候,是可以同时让控件具有事件的: Private WithEvents ob As MSForms.OptionButton...在窗体最上面这样写语句的话,就相当于手动插入了一个名称是ob的选项按钮,这样在代码编辑器下拉框里,就能选择ob,然后选择对应的事件。...但是在UserForm_Initialize事件里添加控件,如果使用窗体的全局变量ob的话,ob只能指向最后一个控件,因为它仅仅是一个变量,不会同时指向多个控件。...而窗体的全局变量声明带WithEvents的时候又不能声明为数组控件,所以在窗体里没法插入不定数量,却又带有事件的控件。...其实这个功能的实现只要有一种对象,能够让我们添加控件,同时这个对象内部又能让我们编辑控件事件的代码。这种对象和以前说到过的类是不是很像?类就是一种对象,而且这种对象就是可以让使用者来自定义的。

    1.2K20

    Page.FindControl方法找不到指定控件的原因

    在ASP.NET 2.0中,引入了MasterPage的机制,在当前页使用MasterPage的情况下,放在 ContentPlaceholder1这样的内容页的控件无法用Page.FindControl...MSDN对FindControl的解释:在当前的命名容器中搜索带指定 id 参数的服务器控件 这里有一篇文章阐述阐述FindControl方法和INamingContainers接口:http://www.odetocode.com.../Articles/116.aspx FindControl方法是在当前naming container查找指定ControlID对应的控件,该naming container是一个实现了INamingContainer...可以在该页的页指令中添加 Trace=Ture 指令来跟踪页面输出查看控件树。...一个页面的控件树中,Page对象必然是顶级的naming container,但绝非必然是唯一的naming container。

    1.4K70

    (二十)c#Winform自定义控件-有后退的窗体

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章。...github.com/kwwwvagaa/NetWinformControl 码云:https://gitee.com/kwwwvagaa/net_winform_custom_control.git 如果觉得写的还行...,请点个 star 支持一下吧 目录 https://www.cnblogs.com/bfyx/p/11364884.html 准备工作 其实我也不知道这个应该叫什么名字,暂且叫有后退的窗体吧,这个窗体继承子基类窗体...FrmBase,如果你对FrmBase还不了解,请移步 (十七)c#Winform自定义控件-基类窗体 查看 开始 添加一个Form,命名FrmBack,继承自FrmBase 属性 1 private...= null) 9 BtnHelpClick(sender, e); 10 } 完整代码 1 // 版权所有 黄正辉 交流群:568015492

    44220

    为什么Github上找不到Docker的源码

    主要项目在github上维护,后加入 Linux 基金会,并成立 OCI (开放容器联盟)....2013年底将Docker项目改名成为Moby,是为了将之前数年构建出来的庞大粉丝团体和Google搜索内容,全部转移至Docker公司的商业产品上。...GitHub上并不会存在一个名为Docker CE或Docker的产品。因为Docker CE是一个产品,不是一个开源项目,只能从Docker公司上下载下来使用。...社区开发都对Docker公司的这种变向商业化行为就非常不满。 实际上,正常的技术公司,一般会维护一个开源项目打通普通用户市场,然后提供个性定制化服务或高级功能来下沉市场。...从而让你在不同环境(如开发、测试和生产等环境)之间轻松迁移应用的同时,还可保留应用的全部功能。 容器化无疑是新VMware的未来和方向。

    4.1K20

    VBA实战技巧:根据工作表数据创建用户窗体中的控件

    在一些应用场景中,我们可能会需要根据工作表中的数据来创建用户窗体中的控件。例如下图1所示,在工作表第3行中有一行标题数据,想要根据标题数量在用户窗体中创建标签和相应的文本框。...图1 按Alt+F11组合键,打开VBE,单击菜单“插入——用户窗体”,在该用户窗体中放置一个框架控件,如下图2所示。...图2 在该用户窗体中单击右键,选择“查看代码”命令,输入下面的代码: Private Sub UserForm_Initialize() Dim rngData As Range Dim...fmScrollBarsVertical .ScrollHeight = .InsideHeight * i / 10 End With End If End Sub 运行窗体后...例如,用户在文本框中输入内容后,自动输入到工作表中;清空文本框中的内容;等等。

    2.4K30

    VB语言基础重要知识点01

    VB语言是使用最早的高级编程语言之一,以下是该语言的一些重要知识要点。本节知识教程,我们需要学习的核心程序如下图1。此后,我们会对相关知识点进行依次罗列,最后附带源码。 ?...举例文本类型的有: 1)caption的内容 2)text的内容 3)name的内容 2.数值类型的有: 1)整型:整数类型。包括正整数、零、负整数。 2)浮点型:多为实数。包括整数、小数。...一个控件的事件由什么组成的? 由控件名称_事件名称组成的格式。 举例按钮的单击事件:按钮名称_click 举例文本标签label的双击事件:标签名称_DblClick 提问:事件的名称哪里选择?...在代码窗体的右上角。通过在界面窗体上右键“查看代码”可以看到代码窗体。 实践证明:并不是所有的控件的事件都是一样的。 提问:VB软件中找不到窗体、找不到属性、找不到工具栏等怎么办?...到软件的菜单栏中找到“视图”,从里面可以找到需要的窗体。所有的控件都在视图中的工具箱中。 六、代码封装 VB中常用有两种方式封装代码: VB中不区分代码的大小写。 1.事件过程。

    1.9K10
    领券