You can set the grub timeout to 0. Just edit the file /etc/default/grub and set
GRUB_TIMEOUT=0
This leaves us with the question of how to boot Windows. In the same config file set
GRUB_DEFAULT=saved
After that you can set the default entry to select. If your Ubuntu is the first entry run
sudo grub-set-default 0
This way grub will always select the first entry if you don't specify something else. If you want to start Windows now, you have to start Ubuntu first. Open a terminal and run e.g.
sudo grub-reboot 1
if you want the second entry to be selected on reboot. There you have to enter the number of the entry that is your Windows. Keep in mind that the index is zero based, so the first is 0, the second is 1 and so on.
When using grub-reboot your system reboots and the given entry will be selected default instead of Ubuntu. Since your timeout is 0 it will boot directly. Technically grub still shows but so shortly that you don't see it. I suggest you try out grub-reboot before setting the timeout to 0.
Almost forgot: After every edit of the config file you have to run
sudo update-grub
for the changes to become effective.