Rather than just making a suggestion, I thought I would try this out: the basic idea of setting the control source of a text box on the userform to B24 does work, the text box updates to the value in B24 all the time. My assumption that the vlookup changing would trigger the worksheet change event was incorrect, it doesn't seem to do it. However I have got my method to work by putting the copy from B23 to B24 into the combo box change event so the code is:
Private Sub ComboBox1_Change()
Application.EnableEvents = False
Cells(21, 2).Value = ComboBox1.Value
Cells(24, 2).Value = Cells(23, 2).Value
Application.EnableEvents = True
End Sub
Hopefully I have managed to attach the demo worksheet that I have generated which shows this working.