Excel内置或VBA功能,以格式化部分文本(例如颜色)

我需要格式化第一行多行文本单元格的颜色(或粗体文本…).所以例如我有

= myfunction(firstLine,secondLine),然后生成(在一个单元格内)

    firstLine (vbLf)
    secondLine

但我需要它来生产

    **firstLine** (vbLf)
    secondLine

(第一行是粗体)
因此只需要在VBA函数内部形成一部分字符串.我可以在Sub里面做类似的事情

    lngPos = InStr(myCell.Value, vbLf)
    With myCell.Characters(Start:=1, Length:=lngPos - 1).Font
        .FontStyle = "Bold"
    End With

但如果有可能的话,我找不到如何在函数内部执行此操作的方法.

最佳答案 除了从用户定义的函数(UDF)返回一个值之外,它不可能做任何事情.您可以使用更改触发工作表事件,然后更新数据.将其添加到相关表单的模块中.将范围(“J6:J10”)更改为您需要监控的范围并添加粗体/任何其他代码:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Range("J6:J10")) Is Nothing Then

        ' do something on the cells

    End If

End Sub
点赞