我需要格式化第一行多行文本单元格的颜色(或粗体文本…).所以例如我有
= 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