+ Reply to Thread
Results 1 to 2 of 2

Need to make certain text bold in a comment using vba

Hybrid View

Bravurian17 Need to make certain text... 05-25-2009, 08:08 PM
Leith Ross Re: Need to make certain text... 05-25-2009, 11:58 PM
  1. #1
    Registered User
    Join Date
    05-10-2009
    Location
    NC, USA
    MS-Off Ver
    Excel 2007
    Posts
    18

    Exclamation Need to make certain text bold in a comment using vba

    I need to figure out how to make certain text bold in a comment using vba. I'm making it so it adds a comment that looks like this:
    Untitled.jpg
    I've searched other forums and none have helped. I need to do this in vba. Thanks in advance.

  2. #2
    Forum Moderator Leith Ross's Avatar
    Join Date
    01-15-2005
    Location
    San Francisco, Ca
    MS-Off Ver
    2000, 2003, & 2010
    Posts
    23,259

    Re: Need to make certain text bold in a comment using vba

    Hello Bravurian17,

    Welcome to the Forum!

    You will need to make some changes to this macro, but it does what you want. The cell address, start date, end date, and place strings are marked in red. Change these to what you are using.
    Sub MacroX()
    
      Dim Cmnt As Comment
      Dim I As Long
      Dim L As Long
      Dim Msg As String
      Dim Rng As Range
      
        Msg = Environ("username") & vbLf & vbLf _
            & "Start:" & vbLf & "date" & vbLf & vbLf _
            & "End:" & vbLf & "date" & vbLf & vbLf _
            & "Where:" & vbLf & "place" & vbLf & vbLf
            
        Set Rng = Range("$C$1")
        Set Cmnt = Rng.Comment
        
          If Cmnt Is Nothing Then
            Rng.AddComment Msg
          Else
            Cmnt.Shape.TextFrame.Characters.Text = ""
            Cmnt.Shape.TextFrame.AutoSize = True
            Cmnt.Shape.TextFrame.Characters.Text = Msg
          End If
          
          L = Len("Start:")
          I = InStr(1, Msg, "Start:")
            Cmnt.Shape.TextFrame.Characters(I, L).Font.Bold = True
            Cmnt.Shape.TextFrame.Characters(I + L, Len(Msg) - (I + L + 1)).Font.Bold = False
            
          L = Len("End:")
          I = InStr(1, Msg, "End:")
            Cmnt.Shape.TextFrame.Characters(I, L).Font.Bold = True
            Cmnt.Shape.TextFrame.Characters(I + L, Len(Msg) - (I + L + 1)).Font.Bold = False
            
          L = Len("Where:")
          I = InStr(1, Msg, "Where:")
            Cmnt.Shape.TextFrame.Characters(I, L).Font.Bold = True
            Cmnt.Shape.TextFrame.Characters(I + L, Len(Msg) - (I + L + 1)).Font.Bold = False
        
    End Sub
    Sincerely,
    Leith Ross

    Remember To Do the Following....

    1. Use code tags. Place [CODE] before the first line of code and [/CODE] after the last line of code.
    2. Thank those who have helped you by clicking the Star below the post.
    3. Please mark your post [SOLVED] if it has been answered satisfactorily.


    Old Scottish Proverb...
    Luathaid gu deanamh maille! (Rushing causes delays!)

+ Reply to Thread

Thread Information

Users Browsing this Thread

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

Tags for this Thread

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