I know this is an old thread, but when you search for this topic it is still a problem, and some solutions are not correct.
Control C and control v NOR Command C, Command V work for copying variables.
The only way I know to do it is this :
1 ) Drag the variable you want copied in your blueprint into your graph as a “Get reference”
2 ) Copy this using your cntrl-c or cmd-c command
3 ) In your new blueprint cntrl-v or cmd-v the node you copied.
4 ) BEFORE you compile and break it, RMB click on the node and choose CREATE Variable.
5 ) compile and enter your values as needed for defaults.
It doesn’t keep your variable categories.
It doesn’t maintain values.
It doesn’t remember if it was Editable or not
I also don’t know how to just copy over the Event Dispatchers, haven’t tried functions or macros.
It’s sort of a slow way of doing something that should be easier and less prone to creating bugs, but it’s better than a poke in the eye and it does maintain the Variable Type which is something. Okay, it’s a bit like a poke in the eye.