ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Charts and Charting in Excel (https://www.excelbanter.com/charts-charting-excel/)
-   -   Problem increasing .PlotArea.Height value (https://www.excelbanter.com/charts-charting-excel/103842-problem-increasing-plotarea-height-value.html)

Xavier

Problem increasing .PlotArea.Height value
 
Hello,

I do have some vba code that draws a chart and that resizes the chart so
that it fits exactly to predefined (width and length) values. I do have an
issue with the following code:

Do While .PlotArea.InsideHeight < 496
.PlotArea.Height = .PlotArea.Height + 1
Loop

Since I can't set .PlotArea.InsideHeight directly, I increase
..PlotArea.height until .PlotArea.InsideHeight reaches the predefined value.
The issue that I am having is the following:

on my developement PC, the code works fine with my default printer (HP
LaserJet 1010). When I run the code on a different PC (using a Xerox
printer) the loop, keeps looping, and .PlotArea.Height remains at some value
and does not increase even if it keeps executing the increment line. On this
same PC, if I change the default printer to a HP LaserJet 4L, the code works
fine. The default page for both printers is set to A4.

I tried to run the code on yet a different PC, using the same printers, and
there it loops indefinitely regardless of the default printer.

I wonder if someone could tell me which parameter (printers, regional
settings,...) might influence the behavior of this code ?

Any help would be appreciated.

Thanks,

Xavier



Andy Pope

Problem increasing .PlotArea.Height value
 
Hi,

Your code will loop if the plotarea.height can not be increased any
futher than 496. This maybe because the chartarea is not large enough to
accommodate it. Add a variable to the loop that checks whether the
plotarea height changes between loops.

Cheers
Andy

Xavier wrote:
Hello,

I do have some vba code that draws a chart and that resizes the chart so
that it fits exactly to predefined (width and length) values. I do have an
issue with the following code:

Do While .PlotArea.InsideHeight < 496
.PlotArea.Height = .PlotArea.Height + 1
Loop

Since I can't set .PlotArea.InsideHeight directly, I increase
.PlotArea.height until .PlotArea.InsideHeight reaches the predefined value.
The issue that I am having is the following:

on my developement PC, the code works fine with my default printer (HP
LaserJet 1010). When I run the code on a different PC (using a Xerox
printer) the loop, keeps looping, and .PlotArea.Height remains at some value
and does not increase even if it keeps executing the increment line. On this
same PC, if I change the default printer to a HP LaserJet 4L, the code works
fine. The default page for both printers is set to A4.

I tried to run the code on yet a different PC, using the same printers, and
there it loops indefinitely regardless of the default printer.

I wonder if someone could tell me which parameter (printers, regional
settings,...) might influence the behavior of this code ?

Any help would be appreciated.

Thanks,

Xavier



--

Andy Pope, Microsoft MVP - Excel
http://www.andypope.info

Xavier

Problem increasing .PlotArea.Height value
 
Hi Andy,

the code you suggest is what allowed me to pinpoint the erratic behavior
(didn't want to copy too much code in order to remain as clear as possible).
I'll follow your suggestion and have a look at the chartarea. Do you know
how does the chartarea relates to the default printer (or regional settings,
or ???) ?

Thanks for your help,

Xavier


"Andy Pope" wrote in message
...
Hi,

Your code will loop if the plotarea.height can not be increased any futher
than 496. This maybe because the chartarea is not large enough to
accommodate it. Add a variable to the loop that checks whether the
plotarea height changes between loops.

Cheers
Andy

Xavier wrote:
Hello,

I do have some vba code that draws a chart and that resizes the chart so
that it fits exactly to predefined (width and length) values. I do have
an issue with the following code:

Do While .PlotArea.InsideHeight < 496
.PlotArea.Height = .PlotArea.Height + 1
Loop

Since I can't set .PlotArea.InsideHeight directly, I increase
.PlotArea.height until .PlotArea.InsideHeight reaches the predefined
value. The issue that I am having is the following:

on my developement PC, the code works fine with my default printer (HP
LaserJet 1010). When I run the code on a different PC (using a Xerox
printer) the loop, keeps looping, and .PlotArea.Height remains at some
value and does not increase even if it keeps executing the increment
line. On this same PC, if I change the default printer to a HP LaserJet
4L, the code works fine. The default page for both printers is set to A4.

I tried to run the code on yet a different PC, using the same printers,
and there it loops indefinitely regardless of the default printer.

I wonder if someone could tell me which parameter (printers, regional
settings,...) might influence the behavior of this code ?

Any help would be appreciated.

Thanks,

Xavier


--

Andy Pope, Microsoft MVP - Excel
http://www.andypope.info




Xavier

Problem increasing .PlotArea.Height value
 
Hello Andy,

following your advise, I checked my code for whatever might influence the
behavior of the chartarea. I found out that I was incorrectly setting
margins in my code. The effect of this was not noticeable on my default
printer, but well on some other brands/models.

I rewrote my code using things like ".BottomMargin =
Application.CentimetersToPoints(0.5)" and everything works as expected now.

Thanks again for the hint !

Xavier


"Xavier" wrote in message
...
Hi Andy,

the code you suggest is what allowed me to pinpoint the erratic behavior
(didn't want to copy too much code in order to remain as clear as
possible). I'll follow your suggestion and have a look at the chartarea.
Do you know how does the chartarea relates to the default printer (or
regional settings, or ???) ?

Thanks for your help,

Xavier


"Andy Pope" wrote in message
...
Hi,

Your code will loop if the plotarea.height can not be increased any
futher than 496. This maybe because the chartarea is not large enough to
accommodate it. Add a variable to the loop that checks whether the
plotarea height changes between loops.

Cheers
Andy

Xavier wrote:
Hello,

I do have some vba code that draws a chart and that resizes the chart so
that it fits exactly to predefined (width and length) values. I do have
an issue with the following code:

Do While .PlotArea.InsideHeight < 496
.PlotArea.Height = .PlotArea.Height + 1
Loop

Since I can't set .PlotArea.InsideHeight directly, I increase
.PlotArea.height until .PlotArea.InsideHeight reaches the predefined
value. The issue that I am having is the following:

on my developement PC, the code works fine with my default printer (HP
LaserJet 1010). When I run the code on a different PC (using a Xerox
printer) the loop, keeps looping, and .PlotArea.Height remains at some
value and does not increase even if it keeps executing the increment
line. On this same PC, if I change the default printer to a HP LaserJet
4L, the code works fine. The default page for both printers is set to
A4.

I tried to run the code on yet a different PC, using the same printers,
and there it loops indefinitely regardless of the default printer.

I wonder if someone could tell me which parameter (printers, regional
settings,...) might influence the behavior of this code ?

Any help would be appreciated.

Thanks,

Xavier


--

Andy Pope, Microsoft MVP - Excel
http://www.andypope.info






Andy Pope

Problem increasing .PlotArea.Height value
 
Hi,

Glad you got it sorted.
And thanks for taking the time to post back with your update.

Cheers
Andy

Xavier wrote:
Hello Andy,

following your advise, I checked my code for whatever might influence the
behavior of the chartarea. I found out that I was incorrectly setting
margins in my code. The effect of this was not noticeable on my default
printer, but well on some other brands/models.

I rewrote my code using things like ".BottomMargin =
Application.CentimetersToPoints(0.5)" and everything works as expected now.

Thanks again for the hint !

Xavier


"Xavier" wrote in message
...

Hi Andy,

the code you suggest is what allowed me to pinpoint the erratic behavior
(didn't want to copy too much code in order to remain as clear as
possible). I'll follow your suggestion and have a look at the chartarea.
Do you know how does the chartarea relates to the default printer (or
regional settings, or ???) ?

Thanks for your help,

Xavier


"Andy Pope" wrote in message
...

Hi,

Your code will loop if the plotarea.height can not be increased any
futher than 496. This maybe because the chartarea is not large enough to
accommodate it. Add a variable to the loop that checks whether the
plotarea height changes between loops.

Cheers
Andy

Xavier wrote:

Hello,

I do have some vba code that draws a chart and that resizes the chart so
that it fits exactly to predefined (width and length) values. I do have
an issue with the following code:

Do While .PlotArea.InsideHeight < 496
.PlotArea.Height = .PlotArea.Height + 1
Loop

Since I can't set .PlotArea.InsideHeight directly, I increase
.PlotArea.height until .PlotArea.InsideHeight reaches the predefined
value. The issue that I am having is the following:

on my developement PC, the code works fine with my default printer (HP
LaserJet 1010). When I run the code on a different PC (using a Xerox
printer) the loop, keeps looping, and .PlotArea.Height remains at some
value and does not increase even if it keeps executing the increment
line. On this same PC, if I change the default printer to a HP LaserJet
4L, the code works fine. The default page for both printers is set to
A4.

I tried to run the code on yet a different PC, using the same printers,
and there it loops indefinitely regardless of the default printer.

I wonder if someone could tell me which parameter (printers, regional
settings,...) might influence the behavior of this code ?

Any help would be appreciated.

Thanks,

Xavier

--

Andy Pope, Microsoft MVP - Excel
http://www.andypope.info






--

Andy Pope, Microsoft MVP - Excel
http://www.andypope.info


All times are GMT +1. The time now is 08:53 PM.

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