ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Charts and Charting in Excel (https://www.excelbanter.com/charts-charting-excel/)
-   -   How can I change size of the picture without changing chartobject? (https://www.excelbanter.com/charts-charting-excel/71-how-can-i-change-size-picture-without-changing-chartobject.html)

Marie J-son

How can I change size of the picture without changing chartobject?
 
Hi there,

I have this code in a userform and get with it a picture in the same size as
the chartobject - to small. I want a much larger (fill the screen as much as
possible). I can easily solve it by changing size of the chartobject before
export to gif, but i dno't want to do that. I want to change the size of the
gif during or after importing it by LoadPicture.

How?

Help = Forever happy

/Regards

Dim ChartNum As Integer

Private Sub UserForm_Initialize()
Debug.Print "frmPPT initilize "
ChartNum = 1
UpdateChart
End Sub

Private Sub UpdateChart()
Set CurrentChart = Blad102.ChartObjects(ChartNum).Chart

' Save chart as GIF
Fname = ThisWorkbook.Path & Application.PathSeparator & "temp.GIF"
CurrentChart.Export Filename:=Fname, FilterName:="GIF"

' Show the chart
Image1.Picture = LoadPicture(Fname)

End Sub



Jon Peltier

Hi Marie -

After this line, resize the Plot Area:

Set CurrentChart = Blad102.ChartObjects(ChartNum).Chart

like this:

With CurrentChart.PlotArea
.Left = 0
.Top = 0
.Width = CurrentChart.ChartArea.Width
.Height = CurrentChart.ChartArea.Height
End With

You may need to adjust slightly, to allow room for the legend, chart title, or axis
titles.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services
Tutorials and Custom Solutions
http://PeltierTech.com/
_______

Marie J-son wrote:

Hi there,

I have this code in a userform and get with it a picture in the same size as
the chartobject - to small. I want a much larger (fill the screen as much as
possible). I can easily solve it by changing size of the chartobject before
export to gif, but i dno't want to do that. I want to change the size of the
gif during or after importing it by LoadPicture.

How?

Help = Forever happy

/Regards

Dim ChartNum As Integer

Private Sub UserForm_Initialize()
Debug.Print "frmPPT initilize "
ChartNum = 1
UpdateChart
End Sub

Private Sub UpdateChart()
Set CurrentChart = Blad102.ChartObjects(ChartNum).Chart

' Save chart as GIF
Fname = ThisWorkbook.Path & Application.PathSeparator & "temp.GIF"
CurrentChart.Export Filename:=Fname, FilterName:="GIF"

' Show the chart
Image1.Picture = LoadPicture(Fname)

End Sub




Marie J-son

Hi,

I'm awfully sorry, I should have been better explaining my question. It is
more of a userform question than a chart question - maybe. The code i showed
is lokated in the userform code and the userform is a kind of "chart
viewer" to show charts in the userform as picture. I have some buttons in
the userform etc to move between the charts, but didn't mess my question
with that.

The other option I'm thinking of is using a empty chart fullsize chartarea
or a worksheet with a chartobject filling the whole / most of the cells in
the view.

Please Jon, or any other - feel free to give answers to any of the choices
above., as long as it is a code proven to work well...

Kind regards

"Jon Peltier" skrev i meddelandet
...
Hi Marie -

After this line, resize the Plot Area:

Set CurrentChart = Blad102.ChartObjects(ChartNum).Chart

like this:

With CurrentChart.PlotArea
.Left = 0
.Top = 0
.Width = CurrentChart.ChartArea.Width
.Height = CurrentChart.ChartArea.Height
End With

You may need to adjust slightly, to allow room for the legend, chart
title, or axis titles.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services
Tutorials and Custom Solutions
http://PeltierTech.com/
_______

Marie J-son wrote:

Hi there,

I have this code in a userform and get with it a picture in the same size
as the chartobject - to small. I want a much larger (fill the screen as
much as possible). I can easily solve it by changing size of the
chartobject before export to gif, but i dno't want to do that. I want to
change the size of the gif during or after importing it by LoadPicture.

How?

Help = Forever happy

/Regards

Dim ChartNum As Integer

Private Sub UserForm_Initialize()
Debug.Print "frmPPT initilize "
ChartNum = 1
UpdateChart
End Sub

Private Sub UpdateChart()
Set CurrentChart = Blad102.ChartObjects(ChartNum).Chart

' Save chart as GIF
Fname = ThisWorkbook.Path & Application.PathSeparator & "temp.GIF"
CurrentChart.Export Filename:=Fname, FilterName:="GIF"

' Show the chart
Image1.Picture = LoadPicture(Fname)

End Sub





Jon Peltier

Hi Marie -

Gotcha. You need to use a different technique to put the chart onto the userform.
Stephen Bullen shows how to do this by copying the chart as a picture (not bitmap)
and pasting the clipboard contents into the userform's image control:

http://oaltd.co.uk/DLCount/DLCount.a...stePicture.zip

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services
Tutorials and Custom Solutions
http://PeltierTech.com/
_______

Marie J-son wrote:

Hi,

I'm awfully sorry, I should have been better explaining my question. It is
more of a userform question than a chart question - maybe. The code i showed
is lokated in the userform code and the userform is a kind of "chart
viewer" to show charts in the userform as picture. I have some buttons in
the userform etc to move between the charts, but didn't mess my question
with that.

The other option I'm thinking of is using a empty chart fullsize chartarea
or a worksheet with a chartobject filling the whole / most of the cells in
the view.

Please Jon, or any other - feel free to give answers to any of the choices
above., as long as it is a code proven to work well...

Kind regards

"Jon Peltier" skrev i meddelandet
...

Hi Marie -

After this line, resize the Plot Area:

Set CurrentChart = Blad102.ChartObjects(ChartNum).Chart

like this:

With CurrentChart.PlotArea
.Left = 0
.Top = 0
.Width = CurrentChart.ChartArea.Width
.Height = CurrentChart.ChartArea.Height
End With

You may need to adjust slightly, to allow room for the legend, chart
title, or axis titles.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services
Tutorials and Custom Solutions
http://PeltierTech.com/
_______

Marie J-son wrote:


Hi there,

I have this code in a userform and get with it a picture in the same size
as the chartobject - to small. I want a much larger (fill the screen as
much as possible). I can easily solve it by changing size of the
chartobject before export to gif, but i dno't want to do that. I want to
change the size of the gif during or after importing it by LoadPicture.

How?

Help = Forever happy

/Regards

Dim ChartNum As Integer

Private Sub UserForm_Initialize()
Debug.Print "frmPPT initilize "
ChartNum = 1
UpdateChart
End Sub

Private Sub UpdateChart()
Set CurrentChart = Blad102.ChartObjects(ChartNum).Chart

' Save chart as GIF
Fname = ThisWorkbook.Path & Application.PathSeparator & "temp.GIF"
CurrentChart.Export Filename:=Fname, FilterName:="GIF"

' Show the chart
Image1.Picture = LoadPicture(Fname)

End Sub






Marie J-son

Thanks, i'll look into that.

Regards


"Jon Peltier" skrev i meddelandet
...
Hi Marie -

Gotcha. You need to use a different technique to put the chart onto the
userform. Stephen Bullen shows how to do this by copying the chart as a
picture (not bitmap) and pasting the clipboard contents into the
userform's image control:

http://oaltd.co.uk/DLCount/DLCount.a...stePicture.zip

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services
Tutorials and Custom Solutions
http://PeltierTech.com/
_______

Marie J-son wrote:

Hi,

I'm awfully sorry, I should have been better explaining my question. It
is more of a userform question than a chart question - maybe. The code i
showed is lokated in the userform code and the userform is a kind of
"chart viewer" to show charts in the userform as picture. I have some
buttons in the userform etc to move between the charts, but didn't mess
my question with that.

The other option I'm thinking of is using a empty chart fullsize
chartarea or a worksheet with a chartobject filling the whole / most of
the cells in the view.

Please Jon, or any other - feel free to give answers to any of the
choices above., as long as it is a code proven to work well...

Kind regards

"Jon Peltier" skrev i meddelandet
...

Hi Marie -

After this line, resize the Plot Area:

Set CurrentChart = Blad102.ChartObjects(ChartNum).Chart

like this:

With CurrentChart.PlotArea
.Left = 0
.Top = 0
.Width = CurrentChart.ChartArea.Width
.Height = CurrentChart.ChartArea.Height
End With

You may need to adjust slightly, to allow room for the legend, chart
title, or axis titles.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services
Tutorials and Custom Solutions
http://PeltierTech.com/
_______

Marie J-son wrote:


Hi there,

I have this code in a userform and get with it a picture in the same
size as the chartobject - to small. I want a much larger (fill the
screen as much as possible). I can easily solve it by changing size of
the chartobject before export to gif, but i dno't want to do that. I
want to change the size of the gif during or after importing it by
LoadPicture.

How?

Help = Forever happy

/Regards

Dim ChartNum As Integer

Private Sub UserForm_Initialize()
Debug.Print "frmPPT initilize "
ChartNum = 1
UpdateChart
End Sub

Private Sub UpdateChart()
Set CurrentChart = Blad102.ChartObjects(ChartNum).Chart

' Save chart as GIF
Fname = ThisWorkbook.Path & Application.PathSeparator & "temp.GIF"
CurrentChart.Export Filename:=Fname, FilterName:="GIF"

' Show the chart
Image1.Picture = LoadPicture(Fname)

End Sub







Tushar Mehta

Have you tried adjusting the userform control's PictureSizeMode
property? There are three possibilities and the value
fmPictureSizeModeZoom (or maybe fmPictureSizeModeStretch) should do the
job.

--
Regards,

Tushar Mehta
www.tushar-mehta.com
Excel, PowerPoint, and VBA add-ins, tutorials
Custom MS Office productivity solutions

In article ,
says...
Hi,

I'm awfully sorry, I should have been better explaining my question. It is
more of a userform question than a chart question - maybe. The code i showed
is lokated in the userform code and the userform is a kind of "chart
viewer" to show charts in the userform as picture. I have some buttons in
the userform etc to move between the charts, but didn't mess my question
with that.

The other option I'm thinking of is using a empty chart fullsize chartarea
or a worksheet with a chartobject filling the whole / most of the cells in
the view.

Please Jon, or any other - feel free to give answers to any of the choices
above., as long as it is a code proven to work well...

Kind regards

"Jon Peltier" skrev i meddelandet
...
Hi Marie -

After this line, resize the Plot Area:

Set CurrentChart = Blad102.ChartObjects(ChartNum).Chart

like this:

With CurrentChart.PlotArea
.Left = 0
.Top = 0
.Width = CurrentChart.ChartArea.Width
.Height = CurrentChart.ChartArea.Height
End With

You may need to adjust slightly, to allow room for the legend, chart
title, or axis titles.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services
Tutorials and Custom Solutions
http://PeltierTech.com/
_______

Marie J-son wrote:

Hi there,

I have this code in a userform and get with it a picture in the same size
as the chartobject - to small. I want a much larger (fill the screen as
much as possible). I can easily solve it by changing size of the
chartobject before export to gif, but i dno't want to do that. I want to
change the size of the gif during or after importing it by LoadPicture.

How?

Help = Forever happy

/Regards

Dim ChartNum As Integer

Private Sub UserForm_Initialize()
Debug.Print "frmPPT initilize "
ChartNum = 1
UpdateChart
End Sub

Private Sub UpdateChart()
Set CurrentChart = Blad102.ChartObjects(ChartNum).Chart

' Save chart as GIF
Fname = ThisWorkbook.Path & Application.PathSeparator & "temp.GIF"
CurrentChart.Export Filename:=Fname, FilterName:="GIF"

' Show the chart
Image1.Picture = LoadPicture(Fname)

End Sub






Marie J-son

Yes, but strech make an awful mess of the chart, even as narrow you try to
get ratio fixed.
Mode does the job, but I find the GIF become lousy quality as well. If you
save the chart in the same size as you later want in GIF, the quality will
be fine.

If I try to copy and paste a chart first and enlarger the new chart and then
delete it make good pictures, but I find Excel to slow to copy paste a
chartobject, even if you of course use screenupdating = false.

/Regards


"Tushar Mehta" skrev i meddelandet
...
Have you tried adjusting the userform control's PictureSizeMode
property? There are three possibilities and the value
fmPictureSizeModeZoom (or maybe fmPictureSizeModeStretch) should do the
job.

--
Regards,

Tushar Mehta
www.tushar-mehta.com
Excel, PowerPoint, and VBA add-ins, tutorials
Custom MS Office productivity solutions

In article ,
says...
Hi,

I'm awfully sorry, I should have been better explaining my question. It
is
more of a userform question than a chart question - maybe. The code i
showed
is lokated in the userform code and the userform is a kind of "chart
viewer" to show charts in the userform as picture. I have some buttons in
the userform etc to move between the charts, but didn't mess my question
with that.

The other option I'm thinking of is using a empty chart fullsize
chartarea
or a worksheet with a chartobject filling the whole / most of the cells
in
the view.

Please Jon, or any other - feel free to give answers to any of the
choices
above., as long as it is a code proven to work well...

Kind regards

"Jon Peltier" skrev i meddelandet
...
Hi Marie -

After this line, resize the Plot Area:

Set CurrentChart = Blad102.ChartObjects(ChartNum).Chart

like this:

With CurrentChart.PlotArea
.Left = 0
.Top = 0
.Width = CurrentChart.ChartArea.Width
.Height = CurrentChart.ChartArea.Height
End With

You may need to adjust slightly, to allow room for the legend, chart
title, or axis titles.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services
Tutorials and Custom Solutions
http://PeltierTech.com/
_______

Marie J-son wrote:

Hi there,

I have this code in a userform and get with it a picture in the same
size
as the chartobject - to small. I want a much larger (fill the screen
as
much as possible). I can easily solve it by changing size of the
chartobject before export to gif, but i dno't want to do that. I want
to
change the size of the gif during or after importing it by
LoadPicture.

How?

Help = Forever happy

/Regards

Dim ChartNum As Integer

Private Sub UserForm_Initialize()
Debug.Print "frmPPT initilize "
ChartNum = 1
UpdateChart
End Sub

Private Sub UpdateChart()
Set CurrentChart = Blad102.ChartObjects(ChartNum).Chart

' Save chart as GIF
Fname = ThisWorkbook.Path & Application.PathSeparator & "temp.GIF"
CurrentChart.Export Filename:=Fname, FilterName:="GIF"

' Show the chart
Image1.Picture = LoadPicture(Fname)

End Sub








All times are GMT +1. The time now is 04:42 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com