12

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

4

4 回答 4

23

通过使用字符。

Range("A1").Characters(8, 5).Font.Bold = True
于 2012-07-25T07:26:25.373 回答
6

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

Range("A1").Characters(worksheetfunction.find("Excel",Range("A1").value,1),len("Excel")).font.bold = True
于 2013-10-01T11:55:08.117 回答
1

对于需要快速修复但不习惯使用 VBA 的人的另一种方法:

  1. 将单元格区域复制并粘贴到 Word 文档中(一开始看起来很乱)。
  2. 转到“替换”(右上角)。
  3. 在“查找内容:”字段中键入要加粗的单词,并在“替换为:”字段中键入相同的单词,然后在“替换为:”框中按 CTRL B。您应该看到“格式:字体:粗体”出现在其下方。
  4. 单击全部替换,您应该会看到所有目标单词都变为粗体。
  5. 将鼠标悬停在您的 Excel 文本(当前在 Word 中)上,您应该会在文本的左上方看到一个由 4 个箭头组成的小符号。单击以突出显示单元格,然后您可以将它们复制并粘贴回excel。

不是最快的方法,但如果您不熟悉 VBA 并需要快速修复,这对您有用!

不只是粗体:CTRL I 用于斜体,CTRL U 用于下划线。

于 2015-11-02T12:25:08.873 回答
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

于 2021-07-24T15:59:05.687 回答