View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
Ron Rosenfeld Ron Rosenfeld is offline
external usenet poster
 
Posts: 5,651
Default Help - macro messes up the character formating

On Fri, 5 Feb 2010 05:11:44 -0800 (PST), Ivaylo
wrote:

Ok, Ron.

It's a dictionary database which need to be manipulated in Excel

Column A contains words. Column B contains a longer text which
contains formatting like bold, italic, underline, and some words in
color.

When I run the macro, it replaces the markers #### with a linebreak
[Chr(10)]. However, the formatting in column B is messed up - no
italic, no bold, very often the whole text is in some of the color
that some of the words had before running the macro - e.g. red, blue,
etc.

I'd like to replace my markup symbol (####) with a linebreak and
preserving the formatting of the cell contents as is.

Any idea how to modify the macro to do this?


Given the information you've provided:

Differential formatting of characters within a cell in Excel can only be done
if the contents is a text string. So I will assume that the contents of Column
B is a text string, and not the results of a formula, or a picture, or
something else.

That being the case, because of the way Excel does this process, I don't
believe you can merely do the substitution. I believe you will need to do the
substitution, and then reformat the characters as they were before.

So you will probably need to modify your macro to look at each character in
sequence, obtain the font characteristics that might be different, and then
write the string back into the cell with the substitution made and the
appropriate formatting.
--ron