Excel 2013 vs Excel 2003 image resizing & clipboard

lamensterms

New Member
Joined
Apr 19, 2016
Messages
17
Office Version
  1. 365
Platform
  1. Windows
Hi,

This may be a little difficult to explain, so please bear with me.

I recently switched from Excel 2003 to 2013, and have noticed that 2013 seems to handle image resizing and/or clipboard output a little different to 2003.

In Excel 2003, I was able to paste an image (screen shot) from the clipboard, into a cell. I could resize the image in Excel to suit the cell size, and if I copied the image out of Excel, and pasted it into MS Paint, the image would be pasted at it's full size (original size before resizing in Excel). This was handy as I could shrink images to fit neatly in a spreadsheet, and copy to clipboard & paste to Paint to view full size version.

In Excel 2013, if I resize an image, then copy from Excel to clipboard & paste to MS Paint, the image will remain at it's shrunken size - it will not be pasted at it's full/original size.

Is there any option to change the way that Excel 2013 handles it's image resizing or clipboard? Anyway to set Excel 2013 to behave the same way as Excel 2003?

Thanks a lot for any help.
 

Excel Facts

Workdays for a market open Mon, Wed, Friday?
Yes! Use "0101011" for the weekend argument in NETWORKDAYS.INTL or WORKDAY.INTL. The 7 digits start on Monday. 1 means it is a weekend.
I have hastily cobbled together a macro that is a decent work-around. I'd still be interested to hear if others have had this issue, and how they overcame it.

Code:
Public Sub Copy_Picture()On Error GoTo NOT_SHAPE


Selection.ShapeRange.ScaleHeight Factor:=1, RelativeToOriginalSize:=msoTrue
Selection.ShapeRange.ScaleWidth Factor:=1, RelativeToOriginalSize:=msoTrue


Selection.Copy


Dim PicWtoHRatio As Single
Dim CellWtoHRatio As Single
With Selection
PicWtoHRatio = .Width / .Height
End With
With Selection.TopLeftCell
CellWtoHRatio = .Width / .RowHeight
End With
Select Case PicWtoHRatio / CellWtoHRatio
Case Is > 1
With Selection
.Width = .TopLeftCell.Width
.Height = .Width / PicWtoHRatio
End With
Case Else
With Selection
.Height = .TopLeftCell.RowHeight
.Width = .Height * PicWtoHRatio
End With
End Select
With Selection
.Top = .TopLeftCell.Top
.Left = .TopLeftCell.Left
End With
Exit Sub
NOT_SHAPE:
MsgBox "Select a picture before running this macro."
End Sub
 
Upvote 0

Forum statistics

Threads
1,224,823
Messages
6,181,178
Members
453,021
Latest member
Justyna P

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