Ahh, so you are doing this out of spite - that is something I can truly appreciate.
I've done this as simply as I can. I decided your listboxes were a waste of space so I turned them into comboboxes and used the initialise macro to populate a second column with the addresses at the same time. This makes it much faster to apply the address to the right shape on the page as we don't need to find the matching entry in the source table. You can hide the second column if it bothers you by setting the column widths. You could also return to the list boxes as the same functionality would work with them too.
Notice what I did with your dummy addresses - you want the full address in a single cell to make life easier. You can add to that list and because it is a table (list object), the range automatically expands to include the new rows.
The option and checkbox controls all have a Tag property - make use of that to specify the text which could differ from the caption.