Eight people from the capital Kiev went fishing on a lake in the neighbouring Zhytomyr region when a local host attacked the guests with his hunting rifle, said Ukraine's deputy interior minister Anton Gerashchenko.
The attack took place early on Friday when the local man -- a professional hunter -- reached for his rifle in the middle of an alcohol-fuelled quarrel and shot two of the guests.
Then he shot and killed five more people who were sleeping in a shed on the bank of the lake near the village of Novoselytsya.
"He managed to shoot and kill seven people," Gerashchenko said in a statement on Facebook.
"Just one person -- upon hearing the shots -- managed to escape into the woods, reach the village and call police."
The suspect has been detained and faces life in prison, said Gerashchenko.
The cause of the argument was not immediately clear.
Aged between 30 and 50, the victims had previously fought as volunteers against Russian-backed separatists in Ukraine's war-torn east, local media reported.