我可以使用以下输入成功修改单个或一组正常细胞:
.Range("C" & i) _
.Characters(WorksheetFunction.Find("NOTE:", Range("C" & i).Value, 1), 100) _
.Font.Bold = True
它沿着 C 列的长度延伸,并粗体“NOTE:”之后的所有内容(特别是过去 100 个字符,包括找到的文本字符串)
问题是 - 如果 C 列中有任何合并单元格,它会忽略它。我已经运行了一些快速测试 - 它识别出单元格中存在文本,并且我可以将合并单元格的内容打印到单个单元格中,该单元格稍后可以找到文本字符串,但对于某些单元格找不到“注意:”原因在于合并单元格本身
最佳答案
只需从合并范围中取出第一个(左上)单元格并继续编写代码:
With .Range("C" & i).MergeArea.Cells(1, 1)
lngFound = InStr(1, .Value2, "NOTE:", vbTextCompare)
If lngFound > 0 Then
.Characters(lngFound, 100).Font.Bold = True
End If
End With
关于vba - 如何在 Microsoft Excel VBA 中修改合并单元格中的特定文本字符串(更改为粗体)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36160048/