Совет. Другие языки - Google-Translated. Вы можете посетить English версия этой ссылки.
Войти
x
or
x
x
Регистрация
x

or

Как вставить раскрывающийся список цветных кодов в таблицу Word?

Предположим, у меня есть таблица в документе Word, и теперь я хочу вставить раскрывающийся список с цветовой кодировкой в ​​столбец таблицы. Это означает, что когда я выбираю один вариант из раскрывающегося списка, цвет ячейки становится красным, и когда я выбираю другой параметр в раскрывающемся списке, цвет ячейки становится зеленым, как показано на следующем скриншоте. Как вы могли решить эту задачу в документе Word?

цветной код doc

Вставить раскрывающийся список с цветовой кодировкой в ​​документе Word с кодом VBA


Вставить раскрывающийся список с цветовой кодировкой в ​​документе Word с кодом VBA

Следующие шаги помогут вам выполнить эту задачу по мере необходимости, сначала вставьте раскрывающийся список, а затем примените цвет для выпадающего списка. Пожалуйста, сделайте следующее:

1, Выберите ячейку в таблице, в которую вы хотите вставить раскрывающийся список, а затем нажмите разработчик > Контроль содержимого списка вниз значок, см. снимок экрана:

цветной код doc снижается 1

2, Выпадающий элемент вставляется в конкретную ячейку, а затем щелкните разработчик > Недвижимость, см. снимок экрана:

цветной код doc снижается 2

3. В Свойства управления контентом в диалоговом окне выполните следующие действия:

(1.) Введите название названия в Название текстовое окно;

(2.) Нажмите Добавить нажмите кнопку Добавить выбор диалог;

(3.) В Добавить выбор , введите в раскрывающийся список элемент Display Name текстовое окно.

цветной код doc снижается 3

4. Повторите шаг 3, чтобы вставить другие выпадающие элементы списка по мере необходимости.

5, После создания первого выпадающего списка вы можете скопировать и вставить его в другие ячейки по мере необходимости. Смотрите скриншот:

цветной код doc снижается 4

6, Затем вы должны применить код VBA, пожалуйста, держите ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окна.

7. В Microsoft Visual Basic для приложений окно, двойной щелчок Этот документ от что Проект-Проект чтобы открыть режим, а затем скопируйте и вставьте следующий код в пустой модуль.

Код VBA: вставьте раскрывающийся список с цветовой кодировкой в ​​таблицу документа Word:

Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
With ContentControl.Range
    If ContentControl.Title = "Status" Then
        Select Case .Text
            Case "Complete"
                .Cells(1).Shading.BackgroundPatternColor = wdColorRed
            Case "In Progress"
                .Cells(1).Shading.BackgroundPatternColor = wdColorGreen
            Case "Not Start"
                .Cells(1).Shading.BackgroundPatternColor = wdColorBlue
            Case Else
                .Cells(1).Shading.BackgroundPatternColor = wdColorAutomatic
        End Select
    End If
End With
End Sub

цветной код doc снижается 5

Внимание: В приведенном выше коде, Статус имя названия при создании выпадающего списка и Завершенный, В ходе, Не начинай являются элементами выпадающего списка, вы можете изменить их самостоятельно. И вы также можете изменить цвет в соответствии с вашими потребностями.

8, Затем сохраните и закройте окно кода, теперь, когда вы выберете один элемент из выпадающего списка, его относительный цвет будет заполнен ячейкой, см. Снимок экрана:

цветной код doc




Рекомендуемые инструменты для повышения производительности Word

Kutools для Word - больше, чем расширенные функции 100 для Word, сэкономьте время 50%

  • Сложные и повторяющиеся операции могут быть выполнены одноразовой обработкой за считанные секунды.
  • Вставьте несколько изображений из папок в документ Word одновременно.
  • Объединяйте и объединяйте несколько файлов Word в разных папках в нужном вам порядке.
  • Разделите текущий документ на отдельные документы в соответствии с заголовком, разрывом раздела или другими критериями.
  • Конвертируйте файлы между Doc и Docx, Docx и PDF, коллекцией инструментов для общих преобразований и выбора и так далее ...
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Jericho · 23 days ago
    Can I color the entire corresponding row instead of just a cell?
    • To post as a guest, your comment is unpublished.
      skyyang · 10 days ago
      Hello, Jericho,
      The below code can help you to deal with your problem, please try it:(You can set the RGB color to your need)

      Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
      With ContentControl.Range
      If ContentControl.Title = "Status" Then
      Select Case .Text
      Case "Complete"
      .Rows.Shading.BackgroundPatternColor = RGB(255, 0, 0)
      Case "In Progress"
      .Rows.Shading.BackgroundPatternColor = RGB(0, 255, 64)
      Case "Not Start"
      .Rows.Shading.BackgroundPatternColor = RGB(0, 0, 255)
      Case Else
      .Rows.Shading.BackgroundPatternColor = wdColorAutomatic
      End Select
      End If
      End With
      End Sub
  • To post as a guest, your comment is unpublished.
    Raj · 3 months ago
    Instead of colors, could we use symbols? like if 'completed' display symbol with character code 252, if not started then symbol with character code 88 etc. can you share the vba code using symbols as display plz?
  • To post as a guest, your comment is unpublished.
    Patti · 6 months ago
    Could I modify this code to have it highlight any drop down choice without listing all of them out?
  • To post as a guest, your comment is unpublished.
    Shannon · 6 months ago
    Hi, Thank you for this. Is there a way of only changing the text color and not the entire cell?
    • To post as a guest, your comment is unpublished.
      skyyang · 6 months ago
      Hi, Shannon,
      To change the text color instead of the background color, the below VBA code can help you, please try it, hope it can help you!

      Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
      With ContentControl.Range
      If ContentControl.Title = "Status" Then
      Select Case .Text
      Case "Complete"
      .Cells(1).Range.Font.Color = wdColorRed
      Case "In Progress"
      .Cells(1).Range.Font.Color = wdColorGreen
      Case "Not Start"
      .Cells(1).Range.Font.Color = wdColorBlue
      Case Else
      .Cells(1).Range.Font.Color = wdColorAutomatic
      End Select
      End If
      End With
      End Sub
      • To post as a guest, your comment is unpublished.
        Bryan Rantala · 6 months ago
        Struggling here to apply this as a style rather than a color or shade.
  • To post as a guest, your comment is unpublished.
    mark · 8 months ago
    Could I enter custom colors? (rgb)
  • To post as a guest, your comment is unpublished.
    Paul · 8 months ago
    this worked grate! Thanks. I tried to apply same code to another drop down content box in same document and I'm having trouble. Don't know how to get tweo in the VBA window. I get 'compile error, Ambiguous name detected: Document_ContentControlOnExit'
  • To post as a guest, your comment is unpublished.
    Z · 9 months ago
    When I exit and reopen the program, I have to reenter the VBA code. How do I make it so that it saves?
    • To post as a guest, your comment is unpublished.
      skyyang · 9 months ago
      Hello,
      To save the vba code when opening the file next time, you should save the word file as Word Macro-Enabled Document format. Please try it, hope it can help you!