I don't think there is a direct bus from Bratislava to Olomouc. You could take 23:04 train to Ostrava (arrival 2:01) and change there for a RegioJet train to Olomouc at 2:25. Problem is that catching 23:04 is so-so for arrival at 22:00 and you can easily fail. Also transfer in Ostrava is not guaranteed as those trains are operated by different companies (but if you miss RegioJet there is another train from Ostrava to Olomouc at 3:43).
Another option would be taking RegioJet bus from Bratislava to Brno at 2:15 (arrival at 4:00) and change there for a train to Olomouc at 5:23. You would arrive to Olomouc just before 7.
But unless you're in hurry, stay the night in Bratislava and travel on the next day. There is a train option via Breclav available every 2 hours during the day that takes just 2 and half hours (more than 2 hours less than nightime options listed above).
Thank you for informations. Since I’m traveling alone, probably is more safe if I overnight in airport then go to Bratislava Hvalna stanica (8.1 km from airport) and get earliest train to olomouc. My only concern is that can get ticket on train station just before my departure? And may I use euro currency?
Great, thank you.