Many thanks, Graham!
I'd orignally checked the post prior to you putting up the solution. Having thought about how to even start, I knew that I wouldn't come up with a solution myself.
I was trying to approach it in the order that you had suggested, but looking at what I had scribbled down on a piece of paper was nowhere near. 
I'd come back to the post to add another query to ask if the approach would be different if there was also some text in the TextBox that had been manually input i.e. not one or more selections from the ListBox?
One other question. What does the number 20 refer to here?
If InStr(1, sCC, Left(ArrReason(lngReason), 20)) > 0 Then