If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
How to auto size jpeg files into excel when import/insert pictures
Is there an add-in that will auto size a picture within a specified area
without having to resize it all the time. I'm trying to design my own trading journal and need to import screen shots saved as jpeg file into a specified area. Any help would be greatly appreciated. |
#2
|
|||
|
|||
How to auto size jpeg files into excel when import/insert pictures
You need to read, for example, the width of both the range where you are pasting, and the width of
the jpg: With ActiveSheet 'Select the cell where the picture is placed Range("rngForJPG").Cells(1,1).Select 'Insert the picture .Pictures.Insert(myImageFileName).Select 'scale the picture to the width of the column myScale = Range("rngForJPG").Cells(1,1).EntireColumn.Width / Selection.ShapeRange.Width Selection.ShapeRange.ScaleWidth myScale, msoFalse, msoScaleFromTopLeft Selection.ShapeRange.ScaleHeight myScale, msoFalse, msoScaleFromTopLeft 'Change the row height to the picture height Range("rngForJPG").Cells(1,1).EntireRow.RowHeight = Selection.ShapeRange.Height End With HTH, Bernie MS Excel MVP "Ken C" wrote in message ... Is there an add-in that will auto size a picture within a specified area without having to resize it all the time. I'm trying to design my own trading journal and need to import screen shots saved as jpeg file into a specified area. Any help would be greatly appreciated. |
#3
|
|||
|
|||
How to auto size jpeg files into excel when import/insert pict
Bernie,
Does any one have an addin already designed that you can just drag from the top left cell to the bottom right cell and like format it so that the pics will autosize within that area? What you posted is that a VBA program that has to be added for each area per sheet or is it an addin? I'm not very adept on programming yet but have bought some books that walk you step by step and also am using some online sites that have training. Thanks for the input so far, I couldn't get an answer from three other sites about this question. "Bernie Deitrick" wrote: You need to read, for example, the width of both the range where you are pasting, and the width of the jpg: With ActiveSheet 'Select the cell where the picture is placed Range("rngForJPG").Cells(1,1).Select 'Insert the picture .Pictures.Insert(myImageFileName).Select 'scale the picture to the width of the column myScale = Range("rngForJPG").Cells(1,1).EntireColumn.Width / Selection.ShapeRange.Width Selection.ShapeRange.ScaleWidth myScale, msoFalse, msoScaleFromTopLeft Selection.ShapeRange.ScaleHeight myScale, msoFalse, msoScaleFromTopLeft 'Change the row height to the picture height Range("rngForJPG").Cells(1,1).EntireRow.RowHeight = Selection.ShapeRange.Height End With HTH, Bernie MS Excel MVP "Ken C" wrote in message ... Is there an add-in that will auto size a picture within a specified area without having to resize it all the time. I'm trying to design my own trading journal and need to import screen shots saved as jpeg file into a specified area. Any help would be greatly appreciated. |
#4
|
|||
|
|||
How to auto size jpeg files into excel when import/insert pict
Ken,
Select the cells (either manually or in code) where you want the picture to go, and then run this macro. Sub InsertAndResizePicture() Dim myR As Range Set myR = Selection 'Insert the picture ActiveSheet.Pictures.Insert( _ Application.GetOpenFilename( _ "JPG picture files (*.jpg),*.jpg", , "Select the picture")).Select 'scale the picture to the width of the column myScale = Application.Min(myR.Width / Selection.ShapeRange.Width, _ myR.Height / Selection.ShapeRange.Height) Selection.ShapeRange.ScaleWidth myScale, msoFalse, msoScaleFromTopLeft Selection.ShapeRange.ScaleHeight myScale, msoFalse, msoScaleFromTopLeft myR.select End Sub You of course can modify it to choose the range and filenames in code... Sub InsertAndResizePicture2() Dim myR As Range Set myR = Range("Range_Name") 'Insert the picture ActiveSheet.Pictures.Insert( "C:\PictureFiles\Picture1.jpg").Select 'scale the picture to the width of the column myScale = Application.Min(myR.Width / Selection.ShapeRange.Width, _ myR.Height / Selection.ShapeRange.Height) Selection.ShapeRange.ScaleWidth myScale, msoFalse, msoScaleFromTopLeft Selection.ShapeRange.ScaleHeight myScale, msoFalse, msoScaleFromTopLeft myR.Select End Sub HTH, Bernie MS Excel MVP "Ken C" wrote in message ... Bernie, Does any one have an addin already designed that you can just drag from the top left cell to the bottom right cell and like format it so that the pics will autosize within that area? What you posted is that a VBA program that has to be added for each area per sheet or is it an addin? I'm not very adept on programming yet but have bought some books that walk you step by step and also am using some online sites that have training. Thanks for the input so far, I couldn't get an answer from three other sites about this question. "Bernie Deitrick" wrote: You need to read, for example, the width of both the range where you are pasting, and the width of the jpg: With ActiveSheet 'Select the cell where the picture is placed Range("rngForJPG").Cells(1,1).Select 'Insert the picture .Pictures.Insert(myImageFileName).Select 'scale the picture to the width of the column myScale = Range("rngForJPG").Cells(1,1).EntireColumn.Width / Selection.ShapeRange.Width Selection.ShapeRange.ScaleWidth myScale, msoFalse, msoScaleFromTopLeft Selection.ShapeRange.ScaleHeight myScale, msoFalse, msoScaleFromTopLeft 'Change the row height to the picture height Range("rngForJPG").Cells(1,1).EntireRow.RowHeight = Selection.ShapeRange.Height End With HTH, Bernie MS Excel MVP "Ken C" wrote in message ... Is there an add-in that will auto size a picture within a specified area without having to resize it all the time. I'm trying to design my own trading journal and need to import screen shots saved as jpeg file into a specified area. Any help would be greatly appreciated. |
Thread Tools | |
Display Modes | |
|
|