如何向Excel 2010中的一列中的每个单元添加是/否combobox

看标题。 我怎样才能在Excel 2010中做到这一点?

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

在代码将是:

columns(1).validation.add xlValidateList,,,"yes,no" 

在“数据”选项卡下的Excel 2007中,可以在“数据validation”下find它。

在Excel中没有内置的方法来生成链接到底层单元格的“表单”checkbox。 如果您复制一个checkbox,它将具有所有相同的属性(包括链接的单元格),这意味着您将不得不每次都手动进行编辑。 为了一次添加一堆,你必须创build一个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编辑器,select当前工作簿的模块并粘贴该代码。如果当前工作簿中没有模块,请右键单击工作簿名称,然后使用“ Insert – >“ New Module添加一个New Module

返回到您的工作簿并按Alt-F8运行一个macros。 如果您运行insertCheckboxesmacros,您将得到以下对话框:

在此输入范围

input您想要的范围checkbox(例如,A1:A10)

在此输入链接的列

input您希望checkbox被链接到的列(如果您selectB,则表示列B将显示checkbox的TRUE / FALSE结果)。

在这里输入复选框标签

在checkbox中input你想要的标签。 如果你只想要这个盒子,把它留空。

VBA有几个小问题(例如,它将checkbox的单元格设置为;;;使它们不显示任何内容,可能用于将checkbox链接到它们所在的单元格的情况)一点创意工程应该让你在附近。

使用macros之后,可以删除模块 – macros只是创buildcheckbox,不需要维护它们。

注意:上面的代码已经在Excel 2010中进行了testing和工作。 你的环境可能有所不同

这将帮助你。 这是一个视觉教程。 它使用数据validation来形成combobox

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