Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: amulee

[分享] 用VBA代码动态创建窗体

  [复制链接]
发表于 2013-5-29 11:03 | 显示全部楼层
{:101:}{:101:}{:101:}{:101:}
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

发表于 2013-7-2 12:30 | 显示全部楼层
回复

使用道具 举报

发表于 2013-9-10 09:26 | 显示全部楼层
回复

使用道具 举报

发表于 2013-10-30 09:14 | 显示全部楼层
很好很实用
回复

使用道具 举报

发表于 2013-11-3 19:42 | 显示全部楼层
我也在学习中.多谢
回复

使用道具 举报

发表于 2014-4-6 16:37 | 显示全部楼层
多谢分享,学习了很多。
回复

使用道具 举报

发表于 2014-5-7 17:40 | 显示全部楼层
thank you for it
回复

使用道具 举报

发表于 2015-2-10 16:32 | 显示全部楼层
很好!非常有用!谢谢!
回复

使用道具 举报

发表于 2015-6-15 19:05 | 显示全部楼层
liheng_0116 发表于 2011-7-8 13:11
回复 amulee 的帖子

请问 这个创建的窗体如何修改名字?不是caption 是别的事件调用窗体时候用的名字

Sub 创建窗体()
    Dim UsForm As Object
    '创建一个窗体。不能中断运行。
    Set UsForm = ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm)
    With UsForm
        '由于该窗体还未运行,相当于处于设计状态
        '对于该窗体的属性,需要用Properties属性访问
        .Properties("Caption") = "测试窗体"          '这里改写
        .Properties("Height") = 360
        .Properties("Width") = 420
        '要在该窗体上创建控件,则需要访问Designer设计器对象
        With .Designer
            For i = 1 To 10
                '创建标签
                Set objLbl = .Controls.Add("Forms.Label.1")
                '设置标签属性
                With objLbl
                    .Top = 12 + 18 * (i - 1)
                    .Height = 12
                    .Width = 100
                    .Left = 18
                    .Caption = i
                    .BackColor = RGB(200, 200, 200)
                End With
            Next i
        End With
    End With
    '加载并显示该窗体。注意与平时加载显示窗体的不同
    VBA.UserForms.Add(UsForm.Name).Show
    '窗体运行完后删除
    ThisWorkbook.VBProject.VBComponents.Remove UsForm
End Sub


回复

使用道具 举报

发表于 2015-6-23 10:02 | 显示全部楼层
东西可能是好东西,但是看不到呀
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 12:33 , Processed in 0.498842 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表