Excel vba将字符串的粗体特定文本设置为单元格?

时间:2012-07-25 07:20:04

标签: excel vba excel-vba excel-formula

我想在字符串中设置一些粗体文字。我该怎么做?

4 个答案:

答案 0 :(得分:23)

使用角色。

Range("A1").Characters(8, 5).Font.Bold = True

答案 1 :(得分:6)

我会说使用这个动态公式 -

Range("A1").Characters(worksheetfunction.find("Excel",Range("A1").value,1),len("Excel")).font.bold = True

答案 2 :(得分:1)

对于需要快速修复并且不习惯使用VBA的人来说,另一种方式是:

  1. 将单元格区域复制并粘贴到word文档中(首先看起来很麻烦)。
  2. 转到"替换" (右上)。
  3. 在"输入内容中输入要加粗的单词:"字段和相同的"替换为:"字段,然后当你在"替换为:"框按CTRL B.您应该看到"格式:字体:粗体"出现在它下面。
  4. 点击全部替换,您应该看到所有目标词都变为粗体。
  5. 将鼠标悬停在Excel文本上(当前在Word中),您会看到文本左上角出现一个4个箭头的小符号。单击该按钮突出显示单元格,然后您可以复制它们并粘贴回Excel。
  6. 不是最快的方式,但如果您不熟悉VBA并需要快速修复,这将对您有用!

    不只是为了Bold: CTRL I代表斜体,CTRL U代表下划线。

答案 3 :(得分:0)

如果您需要加粗多个特定文本,请尝试此操作:

Sub Find_and_Bold()
Dim rCell As Range, sToFind As String, iSeek As Long
Dim Text(1 To 4) As String
Dim i As Integer


Text(1) = "text1"
Text(2) = "text2"
Text(3) = "text3"
Text(4) = "text4"


For Each rCell In Range("C7:C1000")
    For i = LBound(Text) To UBound(Text)
            sToFind = Text(i)
            iSeek = InStr(1, rCell.Value, sToFind)
        Do While iSeek > 0
            rCell.Characters(iSeek, Len(sToFind)).Font.Bold = True
            iSeek = InStr(iSeek + 1, rCell.Value, sToFind)
        Loop
    Next i
Next rCell

End Sub

此解决方案的来源来自:http://www.vbaexpress.com/forum/showthread.php?52245-Make-specific-text-bold-in-cells