excel vba如何用代码在单元格内插入复选框(activeX控件),求代码

RT

软件版本:Office2007

方法如下:

1.可以通过录制宏,插入一个复选框,然后查看代码如下:

2.然后修改代码成为我们想要的,ActiveSheet即工作表,我们改成Sheet1

四个数据,分别是距离顶端位置,距离左边位置,复选框长度,复选框高度(可以更改数值,看看复选框的变化,就能知道每个数据的意思),改成我们需要的,如果是在某个单元格中,可以利用range的top和left选项获得单元格的位置,如下图所示代码:

3.F5执行代码,返回Excel,就可以看到插入的复选框:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-29
    Sheets("sheet1").CheckBoxes.Add(50, 100, 80, 45).OnAction = "sheet1.aaa"  'sheet1 添加表达控件,并指定 sheet1中的 宏 aaa
    Sheets("sheet1").OLEObjects.Add ClassType:="Forms.CheckBox.1", _
            Left:=100, Top:=100, Width:=100, Height:=30   '添加的是  activeX 控件

追问

如何体现在单元格内?

追答Sub CCC()
    Dim R   As Range
    Set R = [C3]  '这里指定单元格。
    Sheets("sheet1").CheckBoxes.Add(R.Left, R.Top, R.Width, R.Height).OnAction = "sheet1.aaa"  'sheet1 添加表达控件,并指定 sheet1中的 宏 aaa
End Sub

追问

这是activeX控件吗?
checkboxes.add添加的是表单控件呀

追答

上面不是有个 activex 控件的例子了吗,照着改改就是了,非要完全写给你啊。

Sub CCC()
    Dim R   As Range
    Set R = [C3]  '这里指定单元格。
    Sheets("sheet1").OLEObjects.Add ClassType:="Forms.CheckBox.1", _
        Left:=R.Left, Top:=R.Top, Width:=R.Width, Height:=R.Height
End Sub

本回答被提问者采纳
第2个回答  2013-07-29
Sub Macro1()
ActiveSheet.CheckBoxes.Add(483, 0.75, 76.5, 17.25).Select
End Sub

括号内是位置坐标

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网