在Excel单元格中使用公式格式化文本的子集

Hig*_*wer 7 excel vba string-formatting excel-vba

我在excel中使用公式构建了一个字符串.举个例子

Cell C3包含文本"Languages"
Cell C4 ="English,Spanish,German,French"
My Forumla = C3&":"&CHAR(10)&C4

所需文本将是:

语言:
英语,西班牙语,德语,法语

(粗体文本实际上是红色的颜色)

有没有办法在Excel中执行此操作(更改部分文本格式).

我试过一个公式...(不工作)

Function formatText(InText As Range)

'Set font color
  InText.Characters(1.5).Font.Color = Red
   'InText.Characters((InStr(1, ":", InText) + 1), (Len(InText) - InStr(1, ":", InText))).Font.ColorIndex = 3
End Function
Run Code Online (Sandbox Code Playgroud)

chr*_*sen 4

您发布的工作功能当且仅当

  • 它是从 a 调用的Sub(即,正如其他人提到的,而不是作为 UDF)

  • range 中包含的值InText是字符串常量。(这是我回答的重点)

不适用于InText包含公式的范围内的任何单元格。AFAIK 你无法格式化部分公式返回的字符串的

顺便说一句,我很乐意在这一点上被证明是错误的!