1

见标题。如何在 Excel 2010 中执行此操作?

4

4 回答 4

1

在 Excel 2007 的“数据”选项卡下,您可以在“数据验证”下找到它。

于 2012-01-02T19:44:14.303 回答
1

Excel 中没有内置方法可以生成大量链接到底层单元格的表单复选框。如果您复制单个复选框,它将具有所有相同的属性(包括链接单元格),这意味着您每次都必须手动编辑它。为了一次添加一堆,您必须创建一个 VBA 函数来为您完成。

谢天谢地,比我聪明的人已经做到了。这是一个这样的示例代码:

Option Explicit
Sub insertCheckboxes()

  Dim myBox As CheckBox
  Dim myCell As Range

  Dim cellRange As String
  Dim cboxLabel As String
  Dim linkedColumn As String

  cellRange = InputBox(Prompt:="Cell Range", _
    Title:="Cell Range")

  linkedColumn = InputBox(Prompt:="Linked Column", _
    Title:="Linked Column")

  cboxLabel = InputBox(Prompt:="Checkbox Label", _
    Title:="Checkbox Label")

  With ActiveSheet
    For Each myCell In .Range(cellRange).Cells
      With myCell
        Set myBox = .Parent.CheckBoxes.Add(Top:=.Top, _ 
          Width:=.Width, Left:=.Left, Height:=.Height)

        With myBox
          .LinkedCell = linkedColumn & myCell.Row
          .Caption = cboxLabel
          .Name = "checkbox_" & myCell.Address(0, 0)
        End With

        .NumberFormat = ";;;"
      End With

    Next myCell
  End With
End Sub

您应该将其复制到 VBA 模块中。按 Alt+F11 打开 VBA 编辑器,选择当前工作簿的模块,然后粘贴该代码。如果当前工作簿中没有模块,请右键单击工作簿名称并使用Insert->New Module添加一个。

返回您的工作簿并按 Alt-F8 运行宏。如果你运行insertCheckboxes宏,你会得到以下对话框:

在此处输入范围

输入您想要复选框的范围(例如,A1:A10)

在此处输入链接列

输入您希望复选框链接到的列(如果您选择 B,这意味着 B 列将显示复选框的TRUE/FALSE结果)。

在此处输入复选框标签

在复选框中输入您想要的标签。如果您只想要该框,请将其留空。

VBA 有几个小问题(例如,它将复选框进入的单元格设置为;;;使它们不显示任何内容,可能是在您将复选框链接到它们所在的单元格的情况下),但有点创造性工程应该可以解决这个问题。

使用宏后,您可以删除模块——宏只是创建复选框,不需要维护它们。

注意:上面的代码已经在 Excel 2010 中测试并为我工作。您的环境可能会有所不同

于 2013-08-21T06:53:50.767 回答
0

我不确定 2010 的界面,在 2003 中你会去验证对话框并添加一个列表检查。

在代码中:

columns(1).validation.add xlValidateList,,,"yes,no"
于 2010-06-21T18:28:08.967 回答
0

这将对您有所帮助。这是一个视觉教程。它使用数据验证来形成组合框

http://www.wikihow.com/Add-a-Drop-Down-Box-in-Excel-2007

于 2013-08-21T05:23:34.670 回答