We are taking a HAL Baltic cruise this summer and many ports have different currencies. Does the cruise line offer currency exchange or do we have to do it ourselves in port?
The ship's currency exchange charges much too much, you'll lose on both ends of every transaction. I recommend using an ATM for a very small amount of each currency, and use your credit cards for the majority of purchases. Some of the locations, particularly in local markets, will accept US dollars.
I agree, ATMs are the best bet - just get what you need. Or if you are in a country that dispenses Euros you might thihnk about getting a couple hundred. They go farther than dollars these days and will be accepted everywhere.