ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   international problem, decimal separator and chart series (https://www.excelbanter.com/excel-programming/285432-international-problem-decimal-separator-chart-series.html)

Brian Murphy

international problem, decimal separator and chart series
 
Hello Excel NewsGroup,

I've run across a strange behavior in excel (2000 and XP) when running on a system with a non-english installation. When running the following code, a chart series is the current Selection, and I am trying to change its definition to display specific hardwired points.

xmn = 0
xmx = 1.1
ymn = 0
ymx = 1.1
With Selection
.XValues = CStr(xmn) & "," & Str(xmx)
.Values = Str(ymn) & "," & Str(ymx)
End With


In the above code, I found that the CStr and Str function calls are required to get the correct result. Does anyone know why CStr seems to be required?

Thanks,

Brian Murphy
Austin, Texas


Howard Kaikow

international problem, decimal separator and chart series
 
If xmx and ymx are variants, I expect that they are getting stored as
numbers.
CStr and Str convert them to strings.
--
http://www.standards.com/; See Howard Kaikow's web site.
"Brian Murphy" wrote in message
...
Hello Excel NewsGroup,

I've run across a strange behavior in excel (2000 and XP) when running on a
system with a non-english installation. When running the following code, a
chart series is the current Selection, and I am trying to change its
definition to display specific hardwired points.

xmn = 0
xmx = 1.1
ymn = 0
ymx = 1.1
With Selection
.XValues = CStr(xmn) & "," & Str(xmx)
.Values = Str(ymn) & "," & Str(ymx)
End With


In the above code, I found that the CStr and Str function calls are required
to get the correct result. Does anyone know why CStr seems to be required?

Thanks,

Brian Murphy
Austin, Texas




Brian Murphy[_2_]

international problem, decimal separator and chart series
 
Hello Howard,

All variables are Dim'ed As Double. But that probably doesn't matter.

The part that is baffling about this is that exactly one instance if CStr is
required in the place shown, while the other three have to be Str. Other
variations do not work.

The only reason I can think of why this might be is maybe that the X values
can be text for certain excel chart types, but the Y values can't, thus
excel processes their values using different rules upon input (here the
chart type is XY Scatter).

Do you know if this the case?

Thanks,

Brian



"Howard Kaikow" wrote in message
...
If xmx and ymx are variants, I expect that they are getting stored as
numbers.
CStr and Str convert them to strings.
--
http://www.standards.com/; See Howard Kaikow's web site.
"Brian Murphy" wrote in message
...
Hello Excel NewsGroup,

I've run across a strange behavior in excel (2000 and XP) when running on

a
system with a non-english installation. When running the following code,

a
chart series is the current Selection, and I am trying to change its
definition to display specific hardwired points.

xmn = 0
xmx = 1.1
ymn = 0
ymx = 1.1
With Selection
.XValues = CStr(xmn) & "," & Str(xmx)
.Values = Str(ymn) & "," & Str(ymx)
End With


In the above code, I found that the CStr and Str function calls are

required
to get the correct result. Does anyone know why CStr seems to be

required?

Thanks,

Brian Murphy
Austin, Texas






Jon Peltier[_4_]

international problem, decimal separator and chart series
 
Brian -

I don't know why CStr would be needed for one of them, while Str works
for the rest, unless you typed a capital o instead of a zero, and your
eyes can't tell the difference. Since you're building a string to hold
a literal array, that's why you need string representations of your numbers.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
http://www.geocities.com/jonpeltier/Excel/index.html
_______

Brian Murphy wrote:

Hello Excel NewsGroup,

I've run across a strange behavior in excel (2000 and XP) when running on a system with a non-english installation. When running the following code, a chart series is the current Selection, and I am trying to change its definition to display specific hardwired points.

xmn = 0
xmx = 1.1
ymn = 0
ymx = 1.1
With Selection
.XValues = CStr(xmn) & "," & Str(xmx)
.Values = Str(ymn) & "," & Str(ymx)
End With


In the above code, I found that the CStr and Str function calls are required to get the correct result. Does anyone know why CStr seems to be required?

Thanks,

Brian Murphy
Austin, Texas



Brian Murphy

international problem, decimal separator and chart series
 
Hello Jon,

Hope things are well with you and family.

I ran into even more serious problems the way I was doing this. But I now have it cured by using the Array function instead of pseudo strings.

With Selection
'change to use Array for setting hardwired chart values 12/15/2003
.XValues = Array(xmn, xmx)
.Values = Array(ymn, ymx)

I should have done it this way in the first place. This works in every case I have tested, and seems to be immune to "international" issues.

Cheers,

Brian



"Jon Peltier" wrote in message ...
Brian -

I don't know why CStr would be needed for one of them, while Str works
for the rest, unless you typed a capital o instead of a zero, and your
eyes can't tell the difference. Since you're building a string to hold
a literal array, that's why you need string representations of your numbers.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
http://www.geocities.com/jonpeltier/Excel/index.html
_______

Brian Murphy wrote:

Hello Excel NewsGroup,

I've run across a strange behavior in excel (2000 and XP) when running on a system with a non-english installation. When running the following code, a chart series is the current Selection, and I am trying to change its definition to display specific hardwired points.

xmn = 0
xmx = 1.1
ymn = 0
ymx = 1.1
With Selection
.XValues = CStr(xmn) & "," & Str(xmx)
.Values = Str(ymn) & "," & Str(ymx)
End With


In the above code, I found that the CStr and Str function calls are required to get the correct result. Does anyone know why CStr seems to be required?

Thanks,

Brian Murphy
Austin, Texas



Jon Peltier[_4_]

international problem, decimal separator and chart series
 
Hi Brian -

Duh, I should have thought of Array. When building a string, you need
to also include the "{" and "}" around the strings containing comma
separated values.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
http://www.geocities.com/jonpeltier/Excel/index.html
_______

Brian Murphy wrote:

Hello Jon,

Hope things are well with you and family.

I ran into even more serious problems the way I was doing this. But I now have it cured by using the Array function instead of pseudo strings.

With Selection
'change to use Array for setting hardwired chart values 12/15/2003
.XValues = Array(xmn, xmx)
.Values = Array(ymn, ymx)

I should have done it this way in the first place. This works in every case I have tested, and seems to be immune to "international" issues.

Cheers,

Brian



"Jon Peltier" wrote in message ...

Brian -

I don't know why CStr would be needed for one of them, while Str works
for the rest, unless you typed a capital o instead of a zero, and your
eyes can't tell the difference. Since you're building a string to hold
a literal array, that's why you need string representations of your numbers.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
http://www.geocities.com/jonpeltier/Excel/index.html
_______

Brian Murphy wrote:


Hello Excel NewsGroup,

I've run across a strange behavior in excel (2000 and XP) when running on a system with a non-english installation. When running the following code, a chart series is the current Selection, and I am trying to change its definition to display specific hardwired points.

xmn = 0
xmx = 1.1
ymn = 0
ymx = 1.1
With Selection
.XValues = CStr(xmn) & "," & Str(xmx)
.Values = Str(ymn) & "," & Str(ymx)
End With


In the above code, I found that the CStr and Str function calls are required to get the correct result. Does anyone know why CStr seems to be required?

Thanks,

Brian Murphy
Austin, Texas






All times are GMT +1. The time now is 04:35 PM.

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