Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将“是/否”组合框添加到Excel 2010中一列中的每个单元格中_Excel_Combobox_Cells - Fatal编程技术网

如何将“是/否”组合框添加到Excel 2010中一列中的每个单元格中

如何将“是/否”组合框添加到Excel 2010中一列中的每个单元格中,excel,combobox,cells,Excel,Combobox,Cells,见标题。如何在Excel 2010中执行此操作?我不确定2010界面,在2003年,您将转到“验证”对话框并添加列表检查 在代码中,应该是: columns(1).validation.add xlValidateList,,,"yes,no" 在Excel 2007的“数据”选项卡下,您可以在“数据验证”下找到它。这将对您有所帮助。这是一个可视化教程。它使用数据验证来形成组合框 Excel中没有内置的方法来生成链接到基础单元格的大量表单复选框。如果复制单个复选框,它将具有所有相同的属性,包括

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

我不确定2010界面,在2003年,您将转到“验证”对话框并添加列表检查

在代码中,应该是:

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

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

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


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编辑器,选择当前工作簿的模块,然后将代码粘贴到中。如果当前工作簿中没有模块,请右键单击工作簿名称,然后使用“插入->新建模块”添加模块

返回工作簿并按Alt-F8运行宏。如果运行InsertCheckBox宏,将出现以下对话框:

在复选框中输入所需的范围,例如A1:A10

如果选择B,则输入希望复选框链接到的列,这意味着B列将显示复选框的真/假结果

在复选框中输入所需的标签。如果你只想要这个盒子,就让它空白

VBA有几个小问题,例如,它将复选框放入的单元格设置为;;;让它们什么也不显示,可能是在将复选框链接到它们所在的单元格的情况下,但是一点创造性的工程应该可以帮助您解决这个问题

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


注意:上面的代码是在Excel2010中为我测试和使用的。您的环境可能会有所不同

在excel 2010中它不起作用我发现如何将combobox放入一个单元格,但如何放入一列的所有单元格尚未找到:。对于一个单元格,需要在Excel 2010中启用“开发人员”选项卡并从此选项卡插入组合框。您可以手动选择第一列,转到“数据”选项卡,选择“数据验证”,转到“列表”,然后在下面的框中为列表项输入“是”和“否”。这会起作用,但我认为OP是在询问如何使用表单控件,不确定是复选框还是下拉框。请注意,这是不鼓励的,因此答案应该是搜索解决方案的终点,而不是另一个参考的终点,随着时间的推移,这些参考往往会过时。请考虑在这里添加一个独立的概要,将链接作为参考。