ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Replacing 1/3 and 2/3 (https://www.excelbanter.com/excel-programming/427161-replacing-1-3-2-3-a.html)

Charlotte E

Replacing 1/3 and 2/3
 
Hey,


I have a VBA code, which return the result into a worksheet cell, in the
form of a test string.

The result string can be one of the following:

- "You need to use 1/4 of the basis"
- "You need to use 1/2 of the basis"
- "You need to use 3/4 of the basis"
- "You need to use 1/3 of the basis"
- "You need to use 2/3 of the basis"

It's the two last ones that causes me problems....


I want the text in the cell to be like this:

- "You need to use ¼ of the basis"
- "You need to use ½ of the basis"
- "You need to use ¾ of the basis"

So I simply use a code line like:

ReturnString = Replace(ReturnString," 1/2 "," ½ ")

And that's no problem with 1/4, 1/2 and 3/4, but when I try to make the
Replace with 1/3 and 2/3, all I get is a questionmark, in the Replace line,
when I try to copy the char for 1/3 into the line???

ReturnString = Replace(ReturnString," 1/3 "," ? ")

How to do it?


TIA,






Patrick Molloy[_2_]

Replacing 1/3 and 2/3
 
the 1/2, 1/4 etc are characters in the set, such as Courier, that you're
using in the sheet for your text. There is no sysmbol for the ?/3rds. In
Excel, you can check using Insert/Symbol and looking at the characters
available to you

"Charlotte E" wrote:

Hey,


I have a VBA code, which return the result into a worksheet cell, in the
form of a test string.

The result string can be one of the following:

- "You need to use 1/4 of the basis"
- "You need to use 1/2 of the basis"
- "You need to use 3/4 of the basis"
- "You need to use 1/3 of the basis"
- "You need to use 2/3 of the basis"

It's the two last ones that causes me problems....


I want the text in the cell to be like this:

- "You need to use ¼ of the basis"
- "You need to use ½ of the basis"
- "You need to use ¾ of the basis"

So I simply use a code line like:

ReturnString = Replace(ReturnString," 1/2 "," ½ ")

And that's no problem with 1/4, 1/2 and 3/4, but when I try to make the
Replace with 1/3 and 2/3, all I get is a questionmark, in the Replace line,
when I try to copy the char for 1/3 into the line???

ReturnString = Replace(ReturnString," 1/3 "," ? ")

How to do it?


TIA,







Charlotte E

Replacing 1/3 and 2/3
 

the 1/2, 1/4 etc are characters in the set, such as Courier, that
you're using in the sheet for your text. There is no sysmbol for the
?/3rds. In Excel, you can check using Insert/Symbol and looking at
the characters available to you


Strange, 'cause when I look in the Windows "Character Map" utility, I can
see the 1/3 and 2/3 signs, and I can also manually copy those signs into my
Excel spreadsheet and use them in there.

In fact, I can even do what I want in a standard Excel function:

=SUBSTITUTE(A1;" 1/3 ";" ? ")

So, it really seems strange to me, if I can't do it in VBA???

Anyone?





"Charlotte E" wrote:

Hey,


I have a VBA code, which return the result into a worksheet cell, in
the form of a test string.

The result string can be one of the following:

- "You need to use 1/4 of the basis"
- "You need to use 1/2 of the basis"
- "You need to use 3/4 of the basis"
- "You need to use 1/3 of the basis"
- "You need to use 2/3 of the basis"

It's the two last ones that causes me problems....


I want the text in the cell to be like this:

- "You need to use ¼ of the basis"
- "You need to use ½ of the basis"
- "You need to use ¾ of the basis"

So I simply use a code line like:

ReturnString = Replace(ReturnString," 1/2 "," ½ ")

And that's no problem with 1/4, 1/2 and 3/4, but when I try to make
the Replace with 1/3 and 2/3, all I get is a questionmark, in the
Replace line, when I try to copy the char for 1/3 into the line???

ReturnString = Replace(ReturnString," 1/3 "," ? ")

How to do it?


TIA,




Patrick Molloy[_2_]

Replacing 1/3 and 2/3
 
did i misunderstand? are you looking for the single character '1/3' or are
you trying to replace the three characters in 1/3 by a question mark?
I undestood the first ...ie look for a single character ...and there is none
afaik

"Charlotte E" wrote:


the 1/2, 1/4 etc are characters in the set, such as Courier, that
you're using in the sheet for your text. There is no sysmbol for the
?/3rds. In Excel, you can check using Insert/Symbol and looking at
the characters available to you


Strange, 'cause when I look in the Windows "Character Map" utility, I can
see the 1/3 and 2/3 signs, and I can also manually copy those signs into my
Excel spreadsheet and use them in there.

In fact, I can even do what I want in a standard Excel function:

=SUBSTITUTE(A1;" 1/3 ";" ? ")

So, it really seems strange to me, if I can't do it in VBA???

Anyone?





"Charlotte E" wrote:

Hey,


I have a VBA code, which return the result into a worksheet cell, in
the form of a test string.

The result string can be one of the following:

- "You need to use 1/4 of the basis"
- "You need to use 1/2 of the basis"
- "You need to use 3/4 of the basis"
- "You need to use 1/3 of the basis"
- "You need to use 2/3 of the basis"

It's the two last ones that causes me problems....


I want the text in the cell to be like this:

- "You need to use ¼ of the basis"
- "You need to use ½ of the basis"
- "You need to use ¾ of the basis"

So I simply use a code line like:

ReturnString = Replace(ReturnString," 1/2 "," ½ ")

And that's no problem with 1/4, 1/2 and 3/4, but when I try to make
the Replace with 1/3 and 2/3, all I get is a questionmark, in the
Replace line, when I try to copy the char for 1/3 into the line???

ReturnString = Replace(ReturnString," 1/3 "," ? ")

How to do it?


TIA,





Peter T

Replacing 1/3 and 2/3
 
Sub test2()
Dim i As Long, w As Long
Dim s As String

s = "my # fraction"
w = 8531

For i = 1 To 12
Cells(i, 1) = w
Cells(i, 2) = Replace(s, "#", ChrW(w))
w = w + 1
Next
End Sub

Regards,
Peter T


"Charlotte E" <@ wrote in message
...
Hey,


I have a VBA code, which return the result into a worksheet cell, in the
form of a test string.

The result string can be one of the following:

- "You need to use 1/4 of the basis"
- "You need to use 1/2 of the basis"
- "You need to use 3/4 of the basis"
- "You need to use 1/3 of the basis"
- "You need to use 2/3 of the basis"

It's the two last ones that causes me problems....


I want the text in the cell to be like this:

- "You need to use ¼ of the basis"
- "You need to use ½ of the basis"
- "You need to use ¾ of the basis"

So I simply use a code line like:

ReturnString = Replace(ReturnString," 1/2 "," ½ ")

And that's no problem with 1/4, 1/2 and 3/4, but when I try to make the
Replace with 1/3 and 2/3, all I get is a questionmark, in the Replace
line, when I try to copy the char for 1/3 into the line???

ReturnString = Replace(ReturnString," 1/3 "," ? ")

How to do it?


TIA,








Patrick Molloy[_2_]

Replacing 1/3 and 2/3
 
cool. its in the Arial font group. I missed it when i first looked.

"Peter T" wrote:

Sub test2()
Dim i As Long, w As Long
Dim s As String

s = "my # fraction"
w = 8531

For i = 1 To 12
Cells(i, 1) = w
Cells(i, 2) = Replace(s, "#", ChrW(w))
w = w + 1
Next
End Sub

Regards,
Peter T


"Charlotte E" <@ wrote in message
...
Hey,


I have a VBA code, which return the result into a worksheet cell, in the
form of a test string.

The result string can be one of the following:

- "You need to use 1/4 of the basis"
- "You need to use 1/2 of the basis"
- "You need to use 3/4 of the basis"
- "You need to use 1/3 of the basis"
- "You need to use 2/3 of the basis"

It's the two last ones that causes me problems....


I want the text in the cell to be like this:

- "You need to use ¼ of the basis"
- "You need to use ½ of the basis"
- "You need to use ¾ of the basis"

So I simply use a code line like:

ReturnString = Replace(ReturnString," 1/2 "," ½ ")

And that's no problem with 1/4, 1/2 and 3/4, but when I try to make the
Replace with 1/3 and 2/3, all I get is a questionmark, in the Replace
line, when I try to copy the char for 1/3 into the line???

ReturnString = Replace(ReturnString," 1/3 "," ? ")

How to do it?


TIA,









Rick Rothstein

Replacing 1/3 and 2/3
 
See if you can use this function to translate your fractions...

Function Fraction(F As String) As String
Dim AscValue As Long
Select Case F
Case "1/4"
AscValue = 188
Case "1/3"
AscValue = 8531
Case "1/2"
AscValue = 189
Case "2/3"
AscValue = 8532
Case "3/4"
AscValue = 190
End Select
Fraction = ChrW(AscValue)
End Function

Note that VB and its controls do not support Unicode print out, so if you
print the return value from the function in the Immediate window or to a
UserForm's TextBox, it will probably return a question mark; however,
worksheets do support Unicode, so you can output the results from the
function to a worksheet and it should work correctly (as long as the cell's
font is Unicode). So, something like this should work correctly for you...

Range("A1").Value = "You need to use " & Fraction("1/3") & " of the basis."

--
Rick (MVP - Excel)


"Charlotte E" <@ wrote in message
...
Hey,


I have a VBA code, which return the result into a worksheet cell, in the
form of a test string.

The result string can be one of the following:

- "You need to use 1/4 of the basis"
- "You need to use 1/2 of the basis"
- "You need to use 3/4 of the basis"
- "You need to use 1/3 of the basis"
- "You need to use 2/3 of the basis"

It's the two last ones that causes me problems....


I want the text in the cell to be like this:

- "You need to use ¼ of the basis"
- "You need to use ½ of the basis"
- "You need to use ¾ of the basis"

So I simply use a code line like:

ReturnString = Replace(ReturnString," 1/2 "," ½ ")

And that's no problem with 1/4, 1/2 and 3/4, but when I try to make the
Replace with 1/3 and 2/3, all I get is a questionmark, in the Replace
line, when I try to copy the char for 1/3 into the line???

ReturnString = Replace(ReturnString," 1/3 "," ? ")

How to do it?


TIA,







Charlotte E

Replacing 1/3 and 2/3
 
Thanks, Rick - working :-)


Rick Rothstein wrote:
See if you can use this function to translate your fractions...

Function Fraction(F As String) As String
Dim AscValue As Long
Select Case F
Case "1/4"
AscValue = 188
Case "1/3"
AscValue = 8531
Case "1/2"
AscValue = 189
Case "2/3"
AscValue = 8532
Case "3/4"
AscValue = 190
End Select
Fraction = ChrW(AscValue)
End Function

Note that VB and its controls do not support Unicode print out, so if
you print the return value from the function in the Immediate window
or to a UserForm's TextBox, it will probably return a question mark;
however, worksheets do support Unicode, so you can output the results
from the function to a worksheet and it should work correctly (as
long as the cell's font is Unicode). So, something like this should
work correctly for you...
Range("A1").Value = "You need to use " & Fraction("1/3") & " of the
basis."

"Charlotte E" <@ wrote in message
...
Hey,


I have a VBA code, which return the result into a worksheet cell, in
the form of a test string.

The result string can be one of the following:

- "You need to use 1/4 of the basis"
- "You need to use 1/2 of the basis"
- "You need to use 3/4 of the basis"
- "You need to use 1/3 of the basis"
- "You need to use 2/3 of the basis"

It's the two last ones that causes me problems....


I want the text in the cell to be like this:

- "You need to use ¼ of the basis"
- "You need to use ½ of the basis"
- "You need to use ¾ of the basis"

So I simply use a code line like:

ReturnString = Replace(ReturnString," 1/2 "," ½ ")

And that's no problem with 1/4, 1/2 and 3/4, but when I try to make
the Replace with 1/3 and 2/3, all I get is a questionmark, in the
Replace line, when I try to copy the char for 1/3 into the line???

ReturnString = Replace(ReturnString," 1/3 "," ? ")

How to do it?


TIA,





All times are GMT +1. The time now is 01:18 AM.

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