ActiveX 控件的属性非常多,包括 Shape 常见的一些属性,它都有,比如:

  • Left,左侧距离
  • Top,顶端距离
  • Width,宽度
  • Height,高度
  • TopLeftCell,左上角所在的单元格

Placement,与所在的单元格之间的附属关系

此外,它还有些比较少见的属性,比如:

  • MousePointer,鼠标指针的样式
  • TripleState,仅对复选框或切换按钮有效,增加第三种选择状态
  • SpecialEffect,改变样式
  • Caption,标题
  • GroupName,组别
  • LinkedCell,与控件关联的单元格

等等,还有很多。

但还好,这些控件可用的方法很少,基本上,我们把这些控件创建出来,调整好需要的样式,使用就可以了。

三、用法展示及说明

1. 用宏生成复选框,并定义属性

为了方便,我们用宏自动生成所需要的复选框。

这个表格,我们先把复选框都删掉。

我们看一下这个删除的宏,其实就一个 For Each 语句。

后面这个取值,把答案区域还原,只是方便测试用。

删除完了,我们再创建一次,创建出来的复选框,位置是固定的,左键右键都拉不动。

复选框,在菜单这里,也可以手动进行插入,而且有两种不同的复选框:

第一种,在插入菜单这里——

第二种,在开发工具这里——

注意,我们手动插入这些控件以后, WPS 会自动进入设计模式,这个模式下,所有控件都是可以移动的。

把设计模式关掉,现在再试试——

在 插入 菜单中的复选框,通过右键选中后,是可以进行移动的。

而在 开发工具 菜单中的复选框,跟我们宏所生成的,是一样的,位置固定的。

我们再试试 删除复选框 这个按钮,有意思的是,插入 菜单中的复选框,并没有被删掉。为什么呢?

我们删除的宏,是对 OLEObject 进行选择,但在 插入 菜单这里的控件,都不属于 OLEObject。

比如说,我们常用的这个按钮,它属于 Button。而这个复选框,它属于 CheckBoxes,如果要选择它们,可以用下面的语句:

For Each cb In ActiveSheet.CheckBoxes

cb.Delete

插入 菜单这里的控件,可以理解为是经过了简化和美化的,属性非常少,适合简单使用场景。

而 开发工具 菜单这里的,则有非常多的属性,跟宏搭配使用,更加合适。

好,再次生成复选框,手动删掉添加的这个,继续看我们的宏语句。

这里,又用到了 rmax,这个变量我非常喜欢用,这样子,我们在工作表中增减新的行,宏也不用动了,一劳永逸,懒人,总得想些懒招。

接着下一句,Forms.checkbox.1 就是复选框的标识符,然后前面加个 With,这样,创建以后,可以非常方便的指定一系列的属性。

Height,试几个数字以后,选个大小最合适的就可以了。

Width,Left 和 Top 这里,用到了对应单元格的宽度和高度,还有一些简单公式,让生成的复选框,可以自动适配单元格。

接着的后面这些,就是对复选框的一些设置,注意个地方,就是 .Object,有的属性不要加这个,有的属于又需要,至于什么标准,帮助说明也没有提,而且最过分的是,插入 菜单中的复选框,跟我们现在宏这里创建的复选框,命令的用法也不一样。具体什么区别,有兴趣的朋友可以自己试试——没兴趣就算了,反正试出来也没多大用处。

另外还有一个,就是 TripleState 这个属性,设置为 True 以后,复选框在现在打勾和空白两种状态的基础上,再添加一种浅色打勾的状态。

2. 结果输出为PDF

我们来到另外一个子过程 CheckAnswer() 。比较简单的一个子过程,就是把 Excel 另存为 PDF 格式,基本是些格式化的语句了,不啰嗦。

好了,本期的内容就这样,本期的宏代码,并不实用,但希望通过本期的介绍,能为大家增添一种新的做表格的元素。而且,也是后面将会介绍的用户窗体的基础。

一、简单演示二、关键对象/方法的分析OLEObject包括 ActiveX 控件,一个链接式或内嵌 OLE 对象。我们这期只涉及 ActiveX控件。什么是 ActiveX 控件呢?其实就是 开发工具 菜单这里,我们今天的主角 复选框,就在这里。这些控件,用一个叫程序设计标识符的代号来标识,程序设计标识符的缩写为 ProgID, 是一串没有空格的字符串:ActiveX 控件的属性非常多,包括 Sh... Private Sub ListBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean) Dim i&, s$ With ListBox2 For i = 0 To .ListCount - 1... Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Count > 1 Then Exit Sub For i = 1 To 10 ActiveSheet.CheckBoxes.Add(10,10,20,20).Select Selection.Characters.Text = "abc" ActiveSheet.CheckBoxes.Select ActiveSheet.CheckBoxes.value = True Sheet2中的类别单选框 Sheet2中的销售额列(使用公式计算获得,个人觉得这个函数才是这个案例中最复杂的部分) Sheet2中右侧的数据透视表和切片器(用来验证左侧销售额列计算结果) VBA 程序 所需技能分析: Office基础操作 Excel 公式与函数(多重函数嵌套+数组公式) 数据透视表(基础技能+切片器) 插入控件(此处只手动更改了控.
Excel 中, 多选框 是一种常用的控件,可以用于选择多个选项。要设置 多选框 的值,可以按照以下步骤进行操作: 1. 首先,确保在 Excel 的"开发工具"选项卡中启用了"设计模式"功能。如果没有启用,可以通过点击 Excel 的文件选项,选择"自定义功能区",在"主选项卡"的列表中勾选"开发工具",然后点击"确定"按钮来启用。 2. 在"开发工具"选项卡中,点击"插入"按钮下的" 多选框 "控件,并在工作表的 位置 绘制出 多选框 。 3. 双击绘制的 多选框 ,可以进入"格式控件"对话框。在这个对话框中,可以设置 多选框 的各种属性,包括名称、值、大小、字体等。 4. 在"格式控件"对话框中,可以设置 多选框 的值。在"值"选项中,可以输入 多选框 的选中和未选中状态的值。通常, 多选框 的选中值为"True",未选中值为"False"。 5. 确定设置后,关闭"格式控件"对话框。 6. 在 Excel 中,可以使用宏或公式来获取 多选框 的值。如果使用宏,可以使用 VBA 代码来获取 多选框 的值,并进行相应的操作。如果使用公式,可以使用"=IF"函数来判断 多选框 是否选中,然后返回相应的结果。 需要注意的是,如果想要将 多选框 的值与其他单元格进行关联,可以通过设置链接单元格的方式来实现。可以在"格式控件"对话框的"链接单元格"选项中选择一个单元格, 多选框 的值将会与该单元格的值相对应。 以上是关于如何设置 Excel 多选框 的值的简要说明。希望对您有所帮助!