Excel--使用VBA Code 动态创建、修改和删除自定义窗体代码摘抄
2015-05-27 10:25
1131 查看
Sub CreateUserform()
'PURPOSE: Create & Modify a Userform with VBA Code
'AUTHOR: John Walkenbach (www.SpreadsheetPage.com)
'SOURCE: www.TheSpreadsheetGuru.com
'******************************************************************
'NOTE: You need to set a reference to the extensibility add-in.
'To do this, go to Tools -> References and find the add-in
'Microsoft Visual Basic for Applications Extensibility 5.3
'******************************************************************
Dim myUserform As
Object
Dim FormName As
String
Dim NewButton As MSForms.CommandButton
Dim TextLocation As
Integer
Dim x As
Integer
'Locks Excel Spreadsheet and Speeds Up Form Processing
Application.VBE.MainWindow.Visible = False
Application.ScreenUpdating = False
'Create a New UserForm
Set myUserform = ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm)
'Set Properties for Userform (aka: myUserform)
With myUserform
.Properties("Caption") = "Temporary Form"
.Properties("Width") = 200
.Properties("Height") = 100
End With
FormName = myUserform.Name
'Add a CommandButton and Modify it's Properties
Set NewButton = myUserform.Designer.Controls.Add("forms.CommandButton.1")
With NewButton
.Caption = "Click Me"
.Left = 60
.Top = 40
End With
'Add an event-hander Sub for your CommandButton
With myUserform.CodeModule
x = .CountOfLines
.InsertLines x + 1, "Sub CommandButton1_Click()"
.InsertLines x + 2, "MsgBox ""Hello!"""
.InsertLines x + 3, "Unload Me"
.InsertLines x + 4, "End Sub"
End With
'Show This Form
VBA.UserForms.Add(FormName).Show
'Delete This Form
ThisWorkbook.VBProject.VBComponents.Remove VBComponent:=myUserform
End Sub
'PURPOSE: Create & Modify a Userform with VBA Code
'AUTHOR: John Walkenbach (www.SpreadsheetPage.com)
'SOURCE: www.TheSpreadsheetGuru.com
'******************************************************************
'NOTE: You need to set a reference to the extensibility add-in.
'To do this, go to Tools -> References and find the add-in
'Microsoft Visual Basic for Applications Extensibility 5.3
'******************************************************************
Dim myUserform As
Object
Dim FormName As
String
Dim NewButton As MSForms.CommandButton
Dim TextLocation As
Integer
Dim x As
Integer
'Locks Excel Spreadsheet and Speeds Up Form Processing
Application.VBE.MainWindow.Visible = False
Application.ScreenUpdating = False
'Create a New UserForm
Set myUserform = ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm)
'Set Properties for Userform (aka: myUserform)
With myUserform
.Properties("Caption") = "Temporary Form"
.Properties("Width") = 200
.Properties("Height") = 100
End With
FormName = myUserform.Name
'Add a CommandButton and Modify it's Properties
Set NewButton = myUserform.Designer.Controls.Add("forms.CommandButton.1")
With NewButton
.Caption = "Click Me"
.Left = 60
.Top = 40
End With
'Add an event-hander Sub for your CommandButton
With myUserform.CodeModule
x = .CountOfLines
.InsertLines x + 1, "Sub CommandButton1_Click()"
.InsertLines x + 2, "MsgBox ""Hello!"""
.InsertLines x + 3, "Unload Me"
.InsertLines x + 4, "End Sub"
End With
'Show This Form
VBA.UserForms.Add(FormName).Show
'Delete This Form
ThisWorkbook.VBProject.VBComponents.Remove VBComponent:=myUserform
End Sub
相关文章推荐
- SilverlightLoader使用托管代码创建自定义载入界面及动态加载XAP
- C++ <VS2008> 使用Excel类创建,读取,查询,写入,修改,删除
- python中集合类型创建、更新、删除、修改以及操作符使用实例代码
- Excel VBA 代码笔记之批量创建修改删除工作表(worksheet)
- Oracle序列(Sequence)创建、使用、修改、删除
- git---使用git命令删除本地分支、远程分支、拉取其他分支的远程分支代码、创建查看本地远程分支
- 使用POI读取XLSX文件,包含对EXCEL中自定义时间格式的处理--包含自己解决和修改jeeplus的源码的
- hive表的使用——创建修改删除
- Hive创建、删除、修改、使用数据库
- 轮播图,使用简单,代码里一句话搞定,多个参数可自定义修改
- 使用MyBatis-Generator自动创建代码(参考+修改)
- Oracle序列(Sequence)创建、使用、修改、删除
- Android使用Gradle命令动态传参完成打包,不需要修改代码
- android 使用代码方式创建自定义progressBar——自定义控件学习(六)
- 使用NPOI创建当天Excel文件代码
- 使用代码动态创建Selector
- 使用代码动态设置或修改drawableLeft
- 使用脚本创建查找修改删除游戏对象
- java怎么创建目录(删除/修改/复制目录及文件)代码实例