vba - 如何在 Microsoft Excel VBA 中修改合并单元格中的特定文本字符串(更改为粗体)?

标签 vba excel

我可以使用以下输入成功修改单个或一组正常细胞:

.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/

相关文章:

vba - Excel VBA : Auto numbering

python - VBA背面运行Python的权限错误

c# - OPEN XML SDK 2.0 中一个单元格中具有不同样式的两个 CellValues

ruby - 使用 Ruby 将 CSV 导出到 Excel 的最简单方法是什么?

mysql - 保留所有有重复项的记录并获取每个重复项的最低 id

vba - 访问数组中的字典VBA

vba - 如何从 sheet2 在 sheet1 中运行宏

excel - 第三方 .xll 中可用的函数和方法

java - Apache POI输出问题

sql-server - 将 Excel 表达式添加到 SQL 查询结果