Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
I'm a bit of a beginner and I'm trying to write a macro to format a cell that will change the colour and place in italics only a set selection of the cell. I want to select the section of the cell that occurs after two "//" characters, and change the colour and put in italics the following characters of the cell. (So: "This is an example // this is the bit that needs to be formatted" would be formatted to show the "This is an example" section as normal text, and the "// this is the bit that needs to be formatted" would be red italics.) The problem is that the "//" doesn't occur at any set point in the cell (ie, may be the 5th character or the 10th character etc) and I can't seem to work out a way to change only that selection without actually knowing in advance where it may occur... This would then loop through the entire worksheet and stop when all occurances have been reformatted. I've searched extensively for something similar to start from but no luck, any help would be muchly appreciated! Thanks Ren |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
If the cells contain text i.e not the results of formulae then you could
try: Sub Frmt() Dim theText As String Dim cell As Range For Each cell In Sheets("Sheet1").UsedRange.SpecialCells _ (xlCellTypeConstants) theText = cell.Text If InStr(1, theText, "//") 0 Then With cell.Characters(InStr(1, theText, "//"), 255) .Font.Italic = True .Font.ColorIndex = 3 End With End If Next cell End Sub Hope this helps Rowan Ren wrote: Hi, I'm a bit of a beginner and I'm trying to write a macro to format a cell that will change the colour and place in italics only a set selection of the cell. I want to select the section of the cell that occurs after two "//" characters, and change the colour and put in italics the following characters of the cell. (So: "This is an example // this is the bit that needs to be formatted" would be formatted to show the "This is an example" section as normal text, and the "// this is the bit that needs to be formatted" would be red italics.) The problem is that the "//" doesn't occur at any set point in the cell (ie, may be the 5th character or the 10th character etc) and I can't seem to work out a way to change only that selection without actually knowing in advance where it may occur... This would then loop through the entire worksheet and stop when all occurances have been reformatted. I've searched extensively for something similar to start from but no luck, any help would be muchly appreciated! Thanks Ren |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Perfect!! Thanks Rowan - this was driving me bonkers trying to work it
out ;) (It's probably easy too).... I'll learn! Ren |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
You're welcome.
Ren wrote: Perfect!! Thanks Rowan - this was driving me bonkers trying to work it out ;) (It's probably easy too).... I'll learn! Ren |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
textBox font colour the same as cell font colour???????? | Excel Discussion (Misc queries) | |||
Changing font colour depending on cell value | Excel Worksheet Functions | |||
Conditional format Font Type(not colour) change | Excel Discussion (Misc queries) | |||
Conditional format if cell=0 then font colour same as background . | Excel Discussion (Misc queries) | |||
changing font colour of row when cell contains date | Excel Programming |