I have not done it myself though, but general practice is to avoid doing it as it can disturb the Cell JSON. It was not even possible until a few versions before. Recent Github posts has made it possible to do so though. Copy paste the cell in question to a code editor such as Atom or Sublime Text, make the changes you want to do and then paste it into the new Jupyter notebook. It should work.
This feature has been introduced in Jupyter Notebook 5.0.
Use pip install notebook --upgrade to upgrade to the latest release.
The old shortcuts C, V and X work only for copying and pasting inside one notebook. In order to do it across tabs, you should use Ctrl-C and Ctrl-V (Cmd-C and Cmd-V on Mac).
Note on multiple cells: currently (jupyter 6.0.0) on Mac+chrome using shift-click to select the cells then cmd-C does NOT work, while using the keyboard with shift-down-arrow does! (thanks drevicko for pointing this out)
For windows-
Use Ctrl + Shift + C to copy cells after selecting them using shift + arrow keys.
Then, switch to the notebook to which you want to copy the selected cells and go to command mode in it by pressing Esc key.
Then, use Ctrl + Shift + V to paste the cells in that notebook.
Note- I have not tested this on Linux but should work just as the procedure above.
In the same software it is also possible to cut/copy and paste from one notebook to another (something that I didn't manage to do with jupyter notebook or lab).
In JupyterLab, you can view two notebooks arranged as panes side-by-side. (Or even two views of the same notebook.)
Then you can select a cell or continuous range of them. When they are highlighted go to the top cell and click and drag over to the other notebook to copy them.