Excel довольно хорошо форматирует целые ячейки, но не очень хорошо форматирует части ячеек.Один из способов, которым я смог это сделать, - превратить текст в очень простой HTML, а затем вставить текст в ячейку.Вот пример.
Public Sub BoldCertainWords()
Dim sSentence As String
Dim dobj As DataObject
Set dobj = New DataObject
sSentence = "The boy ran down the street"
sSentence = Replace$(sSentence, "boy", "<strong>boy</strong>")
sSentence = Replace$(sSentence, "the", "<strong>the</strong>")
dobj.SetText "<html>" & sSentence & "</html>"
dobj.PutInClipboard
Sheet1.Range("A1").Select
Sheet1.PasteSpecial "Unicode Text"
End Sub
Вам нужно установить ссылку на библиотеку MS Forms 2.0, чтобы получить DataObject, если у вас его еще нет.
Обратите внимание, что дело имеет значение.Это будет жирным шрифтом the
, но не The
.Вы можете повторить типичную заглавную букву или разобраться с тем, как вы находите слова и строите строку HTML.
Также обратите внимание, что этот конкретный метод PastSpecial
- это метод Worksheet, а не метод Range.Сначала вы должны выбрать диапазон.