答案1
Stack Overflow 帖子 Excel 提取文本中的粗体字 包含以下 VBA 函数,用于逐个字符地提取粗体文本:
Public Function findAllBold(ByVal rngText As Range) As String
Dim theCell As Range
Set theCell = rngText.Cells(1, 1)
For i = 1 To Len(theCell.Value)
If theCell.Characters(i, 1).Font.Bold = True Then
If theCell.Characters(i + 1, 1).Text = " " Then
theChar = theCell.Characters(i, 1).Text & ", "
Else
theChar = theCell.Characters(i, 1).Text
End If
Results = Results & theChar
End If
Next i
findAllBold = Results
End Function
此函数在找到的单词之间添加逗号。要省略此操作,请删除此文本:& ", "
。在这种情况下,整个if
命令可以缩短为一行:
theChar = theCell.Characters(i, 1).Text
。
使用此函数从第一个单元格中提取粗体文本,然后将公式扩展为以下几行: