+ Reply to Thread
Results 1 to 4 of 4

Format Cell Colour/Font with VBA

  1. #1
    Ren
    Guest

    Format Cell Colour/Font with VBA

    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. #2
    Rowan Drummond
    Guest

    Re: Format Cell Colour/Font with VBA

    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. #3
    Ren
    Guest

    Re: Format Cell Colour/Font with VBA

    Perfect!! Thanks Rowan - this was driving me bonkers trying to work it
    out
    (It's probably easy too).... I'll learn!

    Ren


  4. #4
    Rowan Drummond
    Guest

    Re: Format Cell Colour/Font with VBA

    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 to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1