Как добавить комбинированное окно да / нет в каждую ячейку в одном столбце в Excel 2010 - PullRequest
1 голос
/ 21 июня 2010

Смотрите заголовок.Как я могу сделать это в Excel 2010?

Ответы [ 4 ]

1 голос
/ 21 августа 2013

В 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, вы получите следующий диалог:

Enter Range Here

Введите диапазон, в котором вы хотите установить флажки (например, A1: A10)

Enter Linked Column Here

Введите столбец, с которым вы хотите связать флажки (если вы выберете B, это означает, что в столбце B будет показан результат TRUE / FALSE флажка).

Enter the Checkbox Label Here

Введите нужную метку на флажках.Если вам нужен только флажок, оставьте его пустым.

Есть пара небольших проблем с VBA (например, он устанавливает ячейки, в которые устанавливаются флажки, как ;;;, заставляя их ничего не отображать, вероятно, дляслучаи, когда вы связываете флажки с ячейками, в которых они расположены), но небольшая креативная инженерия должна помочь вам в этом.

После того, как вы использовали макрос, вы можете удалить модуль - макрос простосоздает флажки, их не нужно поддерживать.

Примечание. Приведенный выше код был протестирован и работал в Excel 2010 для меня.Ваша среда может отличаться

1 голос
/ 02 января 2012

В Excel 2007 на вкладке «Данные» его можно найти в разделе «Проверка данных».

0 голосов
/ 21 августа 2013

Это поможет вам.это визуальный учебник.он использует проверку данных для формирования комбинированного поля

0 голосов
/ 21 июня 2010

Я не уверен насчет интерфейса 2010 года, в 2003 году вы перейдете в диалог проверки и добавите проверку списка.

В коде это будет:

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