#1
|
|||
|
|||
Apply 2 VBA codes to a single content control drop down
Hi, complete noob here
Please can I get some advice with applying two VBA codes to a single content control drop down box. I've managed to get them to work individually but not sure how to apply both simultaneously. I have a drop down with 3 options: Red, Amber or Green, which turn the corresponding colour on exit. I also want the value to populate as opposed to the display name. A huge thank you to Greg Maxey and Paul Edstein who's website and previous answers to threads have got me this far! Code currently as follows: Private Sub Document_ContentControlOnExit(ByVal CC As ContentControl, Cancel As Boolean) Dim lngIndex As Long Dim strValue As String Select Case CC.Title Case "RAG" If CC.ShowingPlaceholderText Then Exit Sub With CC If .Title = "RAG" Then Select Case .Range.Text Case "RED": .Range.Font.Color = RGB(178, 34, 34) Case "AMBER": .Range.Font.Color = RGB(255, 165, 0) Case "GREEN": .Range.Font.Color = RGB(50, 205, 50) Case Else: .Range.Font.ColorIndex = wdAuto For lngIndex = 2 To .DropdownListEntries.Count If .DropdownListEntries(lngIndex).Text = .Range.Text Then strValue = .DropdownListEntries(lngIndex).Value .Type = wdContentControlText .Range.Text = strValue .Type = wdContentControlDropdownList Exit For End If Next lngIndex End With Case Else End Select lbl_Exit: Exit Sub End Sub Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean) With ContentControl If .Title = "RAG" Then Select Case .Range.Text Case "RED": .Range.Font.Color = RGB(178, 34, 34) Case "AMBER": .Range.Font.Color = RGB(255, 165, 0) Case "GREEN": .Range.Font.Color = RGB(50, 205, 50) Case Else: .Range.Font.ColorIndex = wdAuto End Select How can I combine these to perform both instructions?? Thank you and please be aware that I already know how incompetent I am with VBA |
#2
|
||||
|
||||
The following will do what you require. The second macro is superfluous.The macro assumes that the value associated with the list item is not the same as the list item e.g.
Choose an item. RED|Value 1 AMBER|Value 2 GREEN|Value 3 Thus if you select RED, 'Value 1' is displayed. You can edit the list easily with https://www.gmayor.com/insert_content_control_addin.htm Code:
Private Sub Document_ContentControlOnExit(ByVal CC As ContentControl, Cancel As Boolean) Dim lngIndex As Long Dim strValue As String Select Case CC.Title Case "RAG" With CC If .ShowingPlaceholderText Then Exit Sub Select Case .Range.Text Case "RED": .Range.Font.Color = RGB(178, 34, 34) Case "AMBER": .Range.Font.Color = RGB(255, 165, 0) Case "GREEN": .Range.Font.Color = RGB(50, 205, 50) Case Else: .Range.Font.ColorIndex = wdAuto End Select For lngIndex = 2 To .DropdownListEntries.Count If .DropdownListEntries(lngIndex).Text = .Range.Text Then strValue = .DropdownListEntries(lngIndex).Value .Type = wdContentControlText .Range.Text = strValue .Type = wdContentControlDropdownList Exit For End If Next lngIndex End With Case Else End Select lbl_Exit: Exit Sub End Sub
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
#3
|
|||
|
|||
Graham, You are a genius! It does everything I wanted!
Thank you so so much |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Drop Down & Text Content Control | forskare | Word VBA | 3 | 06-13-2019 08:21 PM |
Assigning Macro to Drop Down list Content Control | aussiew | Word VBA | 5 | 03-10-2019 02:55 PM |
Table with content control drop down - change font | DebA | Word | 3 | 04-29-2018 09:07 PM |
How to get a Drop Down List Content Control box to fill in other areas | snips1982 | Word | 2 | 03-22-2017 03:37 AM |
Word drop-down content control dependent display issue | vvcat | Word | 6 | 02-03-2015 11:20 PM |