I don't know your business so there might be a very good reason why you
choose to do this the way you did. What is usually done when you have a
list of people and addresses and you want to print an envelope for one of
them, is that you have a single range previously selected (your envelope
range) and when you select a name in some list, that person's name and
address and whatever else you want is automatically placed in that envelope
range, and the range is printed. That way, you don't have 100 separate
print ranges to choose from when you want to print. You always print the
same range.
Having said all that, let me answer your question. Yes, you can use a
Worksheet_SelectionChange event macro to do what you want. With such a
macro, you would simply click on a name. The macro would then determine the
range to print and print it.
Now let me recommend another way. As I said above, you have one sheet
in which you have the names and address of those 100 people. In some cell
of your choosing, you have Data Validation set up with the names of the 100
people. You would select (click) on the name you want. In another sheet,
you would have the one range to print. You would have VLookup formulas in
the cells for the name, street, city, etc. When you click on the name,
those cells would automatically fill with the proper name and address and
all. You would then print that range.
Another way would be to have the same Data Validation cell in which you
select a name. You would have the same VLookup formulas in the same places.
But you would have a macro that runs automatically when you select the name
and that macro would do the printing part. So all you would do is click on
the name.
Please post back and tell me what you want to do and I'll work it up for
you. HTH Otto