Consejo: Otros idiomas son traducidos por Google. Puedes visitar el English versión de este enlace.
Iniciar sesión
x
or
x
x
Suscríbete
x

or

¿Cómo insertar una lista desplegable con código de color en la tabla de Word?

Supongamos que tengo una tabla en mi documento de Word y ahora quiero insertar una lista desplegable codificada por colores en una columna de la tabla. Significa que cuando selecciono una opción del menú desplegable, el color de la celda se vuelve rojo, y cuando selecciono otra opción en el menú desplegable, el color de la celda se vuelve verde, como se muestra en la siguiente captura de pantalla. ¿Cómo podrías resolver este trabajo en un documento de Word?

menú desplegable con código de color doc

Insertar lista desplegable codificada en color en documento de Word con código VBA


Insertar lista desplegable codificada en color en documento de Word con código VBA

Los siguientes pasos pueden ayudarlo a finalizar esta tarea cuando lo necesite, primero, inserte la lista desplegable y luego aplique el color para el menú desplegable. Por favor haz lo siguiente:

1. Seleccione una celda en la tabla donde desea insertar el menú desplegable, y luego haga clic Desarrollador > Control de contenido de la lista desplegable ícono, ver captura de pantalla:

menú desplegable con código de color doc 1

2. El menú desplegable se inserta en la celda específica y luego hace clic Desarrollador > Propiedades, mira la captura de pantalla:

menú desplegable con código de color doc 2

3. En la Propiedades de control de contenido cuadro de diálogo, realice las siguientes operaciones:

(1.) Ingrese el nombre del título en Título caja de texto;

(2.) Clic Añadir botón ir al Añadir opción diálogo;

(3.) En el Añadir opción diálogo, escriba el elemento de la lista desplegable en Nombre que se ve en la pagina caja de texto.

menú desplegable con código de color doc 3

4. Repita el paso 3 para insertar otros elementos de la lista desplegable a medida que lo necesite.

5. Después de crear la primera lista desplegable, puede copiarla y pegarla en otras celdas cuando lo necesite. Ver captura de pantalla:

menú desplegable con código de color doc 4

6. Luego debe aplicar un código VBA, mantenga presionada la tecla ALT + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

7. En la Microsoft Visual Basic para aplicaciones ventana, doble clic ThisDocument de la Proyecto-proyecto para abrir el modo, y luego copiar y pegar el siguiente código en el módulo en blanco.

Código de VBA: inserte la lista desplegable codificada en color en la tabla de un documento de 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

menú desplegable con código de color doc 5

Nota: En el código anterior, Estado es el nombre del título al crear la lista desplegable, y ¡Terminé!, En Progreso, No comenzar son los elementos de la lista desplegable, puede cambiarlos a los suyos. Y también puede cambiar el color a su necesidad.

8. A continuación, guarde y cierre la ventana de código; ahora, cuando selecciona un elemento de la lista desplegable, su color relativo se rellena con la celda, vea la captura de pantalla:

menú desplegable con código de color doc




Herramientas recomendadas de productividad de palabras

Kutools para Word: más que las funciones avanzadas de 100 para Microsoft Word, ahorre su tiempo de 50

  • Las operaciones complicadas y repetidas se pueden realizar una sola vez en segundos.
  • Inserte varias imágenes a través de carpetas en el documento de Word a la vez.
  • Combine y combine varios archivos de Word en carpetas en uno con su orden deseado.
  • Divida el documento actual en documentos separados según el encabezado 1, el salto de sección u otros criterios.
  • Convierta archivos entre Doc y Docx, Docx y PDF, colección de herramientas para conversiones y selección comunes, y así...
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 · 19 days ago
    Can I color the entire corresponding row instead of just a cell?
    • To post as a guest, your comment is unpublished.
      skyyang · 6 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!