May 08 2021 03:08 AM
Hello,
I know how to create a dropdown menu in Excel with text and a color with text but the text can not be changed. What I do not know is how to create a dropdown menu with predefined/specified colors AND still able to fill the cell with text by myself? Please inform me about the specific proces. Regards
May 08 2021 06:34 AM
Do you mean Data Validation of type List? If so: in the Data Validation dialog, activate the Error Alert tab, and clear the check box 'Show error alert after invalid data is entered', then click OK.
May 08 2021 07:17 AM
May 08 2021 07:59 AM
You wrote "I know how to create a dropdown menu in Excel with text and a color with text". Can you explain how you do that?
May 08 2021 08:37 AM
May 08 2021 09:19 AM
May 08 2021 09:24 AM
May 09 2021 11:14 AM
May 09 2021 11:15 AM
May 09 2021 11:51 AM
Here is Nikolino's workbook modified so that you can enter text freely in the cell with the dropdown.
My email address is hans dot vogelaar at gmail dot com
May 09 2021 12:53 PM
SolutionThank you for your email message. It turns out that I had misinterpreted your request. Unfortunately, it's not possible to do what you want using conditional formatting - if a cell doesn't meet the condition, the rule will not be applied. You need VBA code instead.
See the attached workbook. It is a macro-enabled workbook, so you will have to allow macros when you open it.
Code in the worksheet module:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Range
Dim rng As Range
If Not Intersect(Range("D2:D14"), Target) Is Nothing Then
' Loop through the modified cells in D2:D14
For Each cel In Intersect(Range("D2:D14"), Target)
' Does the value occur in the list of colors?
Set rng = Range("A2:A6").Find(What:=cel.Value, LookAt:=xlWhole)
If Not rng Is Nothing Then
' User selected a color from the list, so copy the color
cel.Interior.Color = rng.Interior.Color
Else
' User entered text manually; leave color as it is
End If
Next cel
End If
End Sub
May 10 2021 02:51 AM
May 09 2021 12:53 PM
SolutionThank you for your email message. It turns out that I had misinterpreted your request. Unfortunately, it's not possible to do what you want using conditional formatting - if a cell doesn't meet the condition, the rule will not be applied. You need VBA code instead.
See the attached workbook. It is a macro-enabled workbook, so you will have to allow macros when you open it.
Code in the worksheet module:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Range
Dim rng As Range
If Not Intersect(Range("D2:D14"), Target) Is Nothing Then
' Loop through the modified cells in D2:D14
For Each cel In Intersect(Range("D2:D14"), Target)
' Does the value occur in the list of colors?
Set rng = Range("A2:A6").Find(What:=cel.Value, LookAt:=xlWhole)
If Not rng Is Nothing Then
' User selected a color from the list, so copy the color
cel.Interior.Color = rng.Interior.Color
Else
' User entered text manually; leave color as it is
End If
Next cel
End If
End Sub