如何在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
需要注意的是,以上代码没有为添加的控件编写单击事件,如果要使其能响应各类事件,还需要进一步处理。