Is there a way to edit a vertical block in a code without using the visual block mode selection?
In addition to Ingo's answer, I'll add this: Ex commands are line-wise by design. The nature of the visual mode doesn't matter: Ex commands will always use the first line and the last line of your selection as range by default anyway.
Because it's not line-wise, visual-block mode and block "thinking" doesn't really align with Ex commands.