I am not sure why you would want to alter the typical functioning of the arrow keys, it would not be a wise decision. There are many shortcut key combinations of selecting cells within MS-Excel:
• CTRL+SpaceBar -- selects the whole column of any active cell, or several columns if the current selection is a continuous number of cells in a row.
• SHIFT+SpaceBar -- is similar to the above, but works just the opposite with rows instead of columns.
• SHIFT+ArrowKeys -- selects multiple cells starting from the current active cell. Any of the arrow keys will work, allowing a block of data to be selected.
• CTRL+ArrowKeys -- positions the current active cell to one of the four corners of the continuous block of cells containing data.
If you want the VBA code to be able to copy whatever the current selection is, even if you use the arrow keys, then you could set up a sub-routine for the Worksheet_SelectionChange event. (This event occurs when the selection changes on a worksheet.)
Here is an example:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)