View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Formatting Problem on Double-Zero String

If using xlWhole doesn't prevent this (which you say it doesn't) then try

Sub Tester1()
lFinalRow = 100
iFirstDataRow = 2
icol = 1
With Worksheets("sheet1")
..Range(.Cells(iFirstDataRow, icol), .Cells(lFinalRow, icol)).Replace _
What:="00", Replacement:="'00", LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False
..Range(.Cells(iFirstDataRow, icol), .Cells(lFinalRow, icol)).Replace _
What:="'00", Replacement:="00", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
End With
End Sub

Which worked for me.

Regards,
Tom Ogilvy



"Tim Childs" wrote in message
...
Hi



I have a macro which does formatting on generic data downloaded from a
financial system.



I am looking for a way to stop the replacement of the cells in a

spreadsheet
containing "00" in special circumstances.



The data comes out of the financial systems as formulae including ="00"

and
is then paste-valued, leaving the "unstable" string 00. (Unstable because

if
you edit the cell and press return the contents revert to the number zero,
not unsurprisingly)



The first run of the macro uses this code to put the single quote (ASCII

39)
in front of the double zero string.

.Range(.Cells(iFirstDataRow, iCol), .Cells(lFinalRow, iCol)).Replace
What:="00", Replacement:="'00", LookAt:=xlWhole, _

SearchOrder:=xlByRows, MatchCase:=False





Sometimes the macro is run again and then everything else in it works fine
but it puts a second quote in front of the double zero string i.e. the

entry
has a visible quote, because there are two ASCII 39 characters, one of

which
becomes visible and eans the string is actually 3 characters long (if the
LEN function is used)



What is a neat method of avoiding this extra quote appearing, please?



Sorry the explanation is so long



Thanks



Tim