Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 28492|回复: 29

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

  [复制链接]
发表于 2011-1-19 09:11 | 显示全部楼层 |阅读模式
用VBA代码可以创建一个动态窗体,当需要的时候窗体对象创建并调入内存,关闭窗体后自动删除。参考代码如下:
  1. Sub 创建窗体()
  2.     Dim UsForm As Object
  3.     '创建一个窗体。不能中断运行。
  4.     Set UsForm = ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm)
  5.     With UsForm
  6.         '由于该窗体还未运行,相当于处于设计状态
  7.         '对于该窗体的属性,需要用Properties属性访问
  8.         .Properties("Caption") = "测试窗体"
  9.         .Properties("Height") = 360
  10.         .Properties("Width") = 420
  11.         '要在该窗体上创建控件,则需要访问Designer设计器对象
  12.         With .Designer
  13.             For i = 1 To 10
  14.                 '创建标签
  15.                 Set objLbl = .Controls.Add("Forms.Label.1")
  16.                 '设置标签属性
  17.                 With objLbl
  18.                     .Top = 12 + 18 * (i - 1)
  19.                     .Height = 12
  20.                     .Width = 100
  21.                     .Left = 18
  22.                     .Caption = i
  23.                     .BackColor = RGB(200, 200, 200)
  24.                 End With
  25.             Next i
  26.         End With
  27.     End With
  28.     '加载并显示该窗体。注意与平时加载显示窗体的不同
  29.     VBA.UserForms.Add(UsForm.Name).Show
  30.     '窗体运行完后删除
  31.     ThisWorkbook.VBProject.VBComponents.Remove UsForm
  32. End Sub
复制代码
运行上述代码需要加载VBA扩展包,如图所示
扩展包.png

附件下载: 用代码创建一个窗体.rar (11.96 KB, 下载次数: 154, 售价: 1 个金币)

评分

参与人数 1 +3 收起 理由
jds + 3 很给力

查看全部评分

发表于 2011-1-19 09:39 | 显示全部楼层
回复

使用道具 举报

发表于 2011-1-19 09:44 | 显示全部楼层
回复

使用道具 举报

发表于 2011-7-8 13:11 | 显示全部楼层
回复 amulee 的帖子

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

使用道具 举报

发表于 2011-7-11 08:48 | 显示全部楼层
学习了,谢谢分享
回复

使用道具 举报

发表于 2012-6-16 16:59 | 显示全部楼层
好例子,正需要,谢谢分享
回复

使用道具 举报

发表于 2012-7-21 21:12 | 显示全部楼层
很有用很适用,支持中
回复

使用道具 举报

发表于 2012-10-17 21:34 | 显示全部楼层
不错!谢谢分享!
回复

使用道具 举报

发表于 2013-5-15 12:35 | 显示全部楼层
不错.我也在学习中.多谢
回复

使用道具 举报

发表于 2013-5-15 16:28 | 显示全部楼层
不错.我也在学习中.多谢

评分

参与人数 1 +3 收起 理由
jds + 3 赞一个

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 08:00 , Processed in 1.288874 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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