Unicode StrConv/Substitute routine...
Sub tester1()
Dim rng as Range, cell as Range
On error resume next
set rng = Activesheet.Cells.SpecialCells(xlConstants,xlTextV alues)
On error go to 0
if not rng is nothing then
for each cell in rng
counter = cell.Value
strTest = StrConv(counter, vbFromUnicode)
' MsgBox "strTest = " & strTest
cell.offset(0,1).Value = strTest
Next
End if
End Sub
--
Regards,
Tom Ogilvy
Kevin Lyons wrote in message
...
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
|