如何在EXCEL SHEET中 动态添加控件

EXCEL SHEET中如何添加下拉框或者 文本框,命令按钮?下面的方法就可以:

添加命令按钮

1 新建WORKSHEET

2  打开Visiual Basic编辑器

3  选择SHEET1 的Worksheet_SelectionChange 事件

4 编写代码如下:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim myobj As OLEObject
Set myobj = Sheet1.OLEObjects.Add(ClassType:="Forms.commandbutton.1", Link:=False, DisplayAsIcon:=False, Left:=Target.Left, Top:=Target.Top, Width:=Target.Width, Height:=Target.Height)
myobj.Visible = True
myobj.Object.Caption = Target.Address
End Sub


5返回到SHEET1窗口,退出设计模式:

6 更改选定区域,可以看到RANGE改变时在该RANGE自动添加一个命令按钮,标题为该RANGE 的ADDRESS:

添加组合框

前三步同上,第4步代码写为:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim myobj As OLEObject
Set myobj = Sheet1.OLEObjects.Add(ClassType:="Forms.combobox.1", Link:=False, DisplayAsIcon:=False, Left:=Target.Left, Top:=Target.Top, Width:=Target.Width, Height:=Target.Height)
myobj.Visible = True
myobj.Object.List = Array(1, 2, 3, 4, 5, 6, 7)
Randomize
myobj.Object.ListIndex = Int(Rnd * 7)
End Sub


效果如下:

以上演示了EXCEL SHEET中控件的添加,其他控件同理。只需更改相应的classtype

需要注意的是,以上代码没有为添加的控件编写单击事件,如果要使其能响应各类事件,还需要进一步处理。

原文地址:https://www.cnblogs.com/fengju/p/6336360.html