Here's some boilerplate Change event code. You'd need to Find the selected value next to the list data then populate the cell with it. The question would be how/when to put the validation back?
<font face=Calibri><SPAN style="color:#00007F">Private</SPAN> <SPAN style="color:#00007F">Sub</SPAN> Worksheet_Change(<SPAN style="color:#00007F">ByVal</SPAN> Target <SPAN style="color:#00007F">As</SPAN> Range)<br> <SPAN style="color:#007F00">' Code goes in the Worksheet specific module</SPAN><br> <SPAN style="color:#00007F">Dim</SPAN> rng <SPAN style="color:#00007F">As</SPAN> Range<br> <SPAN style="color:#007F00">' Set Target Range, i.e. Range("A1, B2, C3"), or Range("A1:B3")</SPAN><br> <SPAN style="color:#00007F">Set</SPAN> rng = Target.Parent.Range("xxx")<br> <SPAN style="color:#007F00">' Only look at single cell changes</SPAN><br> <SPAN style="color:#00007F">If</SPAN> Target.Count > 1 <SPAN style="color:#00007F">Then</SPAN> <SPAN style="color:#00007F">Exit</SPAN> <SPAN style="color:#00007F">Sub</SPAN><br> <SPAN style="color:#007F00">' Only look at that range</SPAN><br> <SPAN style="color:#00007F">If</SPAN> Intersect(Target, rng) <SPAN style="color:#00007F">Is</SPAN> <SPAN style="color:#00007F">Nothing</SPAN> <SPAN style="color:#00007F">Then</SPAN> <SPAN style="color:#00007F">Exit</SPAN> <SPAN style="color:#00007F">Sub</SPAN><br> <SPAN style="color:#007F00">' Action if Condition(s) are met (do your thing here...)</SPAN><br> <br><SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN><br></FONT>