View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Kevin Lyons Kevin Lyons is offline
external usenet poster
 
Posts: 12
Default Unicode StrConv/Substitute routine...

Tom,

When I use my code:

Sub tester1()
counter = Range("A1").Value
strTest = StrConv(counter, vbFromUnicode)
MsgBox "strTest = " & strTest
Range("B1").Value = strTest

End Sub

This sub does provide for me the associated Chinese, Japanese, Taiwanese, etc.
characters returned into column B. The only thing is that this data resides
everywhere within the worksheet.

Do you know how to code the above subroutine into a For Next loop which checks
every cell in the spreadsheet rather than having to rely upon a single cell like
Range("A1").Value? It should also ignore those cells that do not have unicode
within them.

I hope this clarifies things some.

Thanks much,

Kevin


Tom Ogilvy wrote:

What are you trying to show. Perhaps all you need to do is apply a unicode
font to the cell. As I said, a "¿" is char 191 in Arial, so it isn't
unicode.

for me, running this with "¿" in Cell A1 diplays the same thing and puts
another "¿" in B1

Sub tester1()
counter = Range("A1").Value
strTest = StrConv(counter, vbFromUnicode)
MsgBox "strTest = " & strTest
Range("B1").Value = strTest

End Sub

Regards,
Tom Ogilvy

"Kevin Lyons" wrote in message
...
Tom,

I mean an upside down ? is what is showing in my Excel file. When I run

the top
portion of the code on it, I get the associated Chinese or Japanese

characters.

Assuming that it is unicode, do you have a solution?

Kevin


Tom Ogilvy wrote:

It could have something to do with pasting this into an email, but the
character you show is char 191, which doesn't require unicode.

Not sure what you mean by Language equivalent.

Regards,
Tom Ogilvy

"Kevin Lyons" wrote in message
...
Hello,

I am trying to code a macro that will replace or substitute all "¿"
unicode
characters to their language equivalent using Application.Substitute
and/or
StrConv. I have written the below macro, but I am having trouble

getting
it to do as I expect.

My thinking is to use the StrConv within the Application.Substitute
code...

The counter code that is commented works but for only a specific cell.
What I would like is the entire workbook changed accordingly. Can

someone
assist?

--------------------------

Sub fixUnicode()

' counter = Range("A1046").Value
' strTest = StrConv(counter, vbFromUnicode)
' MsgBox "strTest = " & strTest
' Range("B1046").Value = strTest

For Each unicodeChar In

ActiveSheet.UsedRange.Columns("A:AK").Cells
Range(unicodeChar.Address) =
Application.Substitute(unicodeChar.Value, "¿", StrConv("¿",
vbFromUnicode))
unicodeChar.WrapText = True
'okfilename =
Application.WorksheetFunction.Substitute(variousar tistsfilename,

"-OK",
"")

'newfilename = StrConv(okfilename, vbProperCase)
Next

' For Each periodSlash In
ActiveSheet.UsedRange.Columns("AG:AK").Cells
' Range(periodSlash.Address) =
Application.Substitute(periodSlash.Value, _
' "./", "." & Chr(10))
' periodSlash.WrapText = True
' Next
' Selection.Replace What:="¿", Replacement:="?", LookAt:= _
' xlPart, SearchOrder:=xlByRows, MatchCase:=False

End Sub

--------------------------

Thanks,

Kevin