【问题标题】:Excel, Active X checkbox "tick" to "cross"?Excel,Active X复选框“勾选”到“交叉”?
【发布时间】:2015-06-23 22:07:40
【问题描述】:

有没有办法添加十字“X”而不是勾号。在一个复选框中。 ?请帮忙。

【问题讨论】:

    标签: excel checkbox activex


    【解决方案1】:

    根据 Gary 学生的建议,我想出了以下 hack:

    • 将单元格调整为小方块
    • 将其格式化如下:
      • 居中对齐文本(水平和垂直)
      • 上下边框粗深灰色,下边框细浅浅灰色
    • 隐藏工作表中的网格线
    • 将以下代码与单元格一起放入工作表的模块中:

      Option Explicit
      
      Private mRngOld As Range
      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
          Dim rng As Range
          Set rng = Range("B2")
      
          If Application.Intersect(Target, rng) Is Nothing Then
              Set mRngOld = Target
              Exit Sub
          End If
      
          If rng.Value = "X" Then
              rng.Value = "-"
          Else
              rng.Value = "X"
          End If
      
          If Not mRngOld Is Nothing Then mRngOld.Select
      End Sub
      

    如果您现在单击单元格(在示例中为B2),您将在X- 之间切换。

    这就是它的外观:

    这里是示例workbook的链接。

    【讨论】:

    • 感谢您提供的示例,我无法更改我的 Excel,因为我有很多勾选框和很多合并的单元格。我会在以后的工作中记住这一点。
    【解决方案2】:

    很抱歉,Excel 中的 ActiveX 复选框不支持这样的功能。

    【讨论】:

    • 可以使用 VBA 切换单元格以在鼠标单击时显示 X 或不显示任何内容。
    • @Gary'sStudent:好主意 - 我通过选择更改事件实现了它,请参阅我的其他答案。
    • 干得好,彼得!我正在考虑一个基于超链接的解决方案......我会考虑更多。
    【解决方案3】:

    您可以使用wingdings 并使用小写的o 和x。一个小写的 o 打印一个打开的盒子。一个小写的 x 打印一个带有 x 的盒子。

    【讨论】:

      猜你喜欢
      • 2015-12-06
      • 1970-01-01
      • 2013-09-26
      • 2014-03-12
      • 1970-01-01
      • 2010-12-15
      • 2018-02-10
      • 1970-01-01
      • 2013-09-01
      相关资源
      最近更新 更多