Great idea, I ran with it and completely solved my problem! I wanted only specific characters in bold. Was able to piggy-back off your code and complete it. Below is my Worksheet Change event code (it does not include the code used to create the data validation
list).
Private Sub Worksheet_Change(ByVal Target As Range)
Dim EventLen, DateLen, PolarityLen, ExtractionLen, ExtractionPos, Divider1Len, Divider2Len, Divider3Len, Divider4Len, Divider5Len, i As Integer
Dim Divider1, Divider2, Divider3, Divider4, Divider5 As String
'Define the dividers/lengths of dividers, and the strings/lengths of strings
Divider1 = "_"
Divider2 = " "
Divider3 = " < "
Divider4 = " > "
Divider5 = """"
Divider1Len = Len(Divider1)
Divider2Len = Len(Divider2)
Divider3Len = Len(Divider3)
Divider4Len = Len(Divider4)
Divider5Len = Len(Divider5)
EventLen = Len(ActiveWorkbook.Worksheets(1).Name)
DateLen = Len(ActiveWorkbook.Worksheets(1).Range("B2"))
PolarityLen = Len(ActiveWorkbook.Worksheets(1).Range("D2"))
ExtractionLen = Len(ActiveWorkbook.Worksheets(1).Range("C2")) + 1
ExtractionPos = InStrRev(ActiveWorkbook.Worksheets(1).Range("E2"), ActiveWorkbook.Worksheets(1).Range("C2"))
'Defines B9 to be the cell that triggers event upon change
Set r = Range("B9")
If Intersect(Target, r) Is Nothing Then
Exit Sub
End If
'Makes the specific string of characters bold
With ActiveWorkbook.Worksheets(1).Range("B9").Characters(Start:=EventLen + Divider1Len + DateLen + Divider2Len + PolarityLen + Divider3Len, Length:=ExtractionLen).Font
.FontStyle = "Bold"
End With
End Sub
This turns the substring "EXTRACTION" bold within the larger string "EVENT_DATE POLARITY < EXTRACTION > "SENTENCE"".