check and change clipboard before pasting and keeping undo

onidarbe

Board Regular
Joined
Mar 22, 2013
Messages
65
Hi,
The default pasting of picture in a Excel sheet is terrible:
Picture should always paste in the cell and move, resize and even delete with a cell!
Now they sometimes paste at the location of a cell without belonging to that cell. Sometimes they past at the top and aren't even selected after pasting :(

You can solve this with following code, only you lose the redo/undo:
VBA Code:
        If TypeName(Selection) = "Picture" Then
            Selection.Placement = xlMoveAndSize
            Selection.ShapeRange.LockAspectRatio = True
            Selection.Height = Selection.TopLeftCell.Height - 4
            Selection.Top = ActiveCell.Top + 2
            Selection.Left = ActiveCell.Left + 2
        End If
So my question is: How can I manipulate the clipboard to make the picture as if it is already changed as a cell-related picture, before the natural pasting starts and thereby keeping the undo/redo?

Is there a way to use Application.OnKey "^{v}", "onKeyCtrlV" though let it execute his own paste after changing the clipboard?
And how do I change the picture in the clipboard to the activecell size with xlMoveAndSize?

thanks
 

Excel Facts

Remove leading & trailing spaces
Save as CSV to remove all leading and trailing spaces. It is faster than using TRIM().

Forum statistics

Threads
1,215,011
Messages
6,122,677
Members
449,092
Latest member
tayo4dgacorbanget

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top