如何从单元格中提取基于字体颜色的文本,并使用多种颜色的文本,并使用分隔符分隔多个单词?

如何基于多种颜色文本的单元格中的字体颜色提取文本

我有一列数据(A)。 列(A)中每个单元格中的数据是半个颜色和另一个颜色。 如果他们在不同的地方,我必须提取由分隔符分隔的每个单词。 我尝试了上述链接的解决scheme,但无法进行更改以适应我的目的,因为我是vba的初学者。 请build议方法来解决这个问题。

(A)原件……….(B)红色

abcdefgh ………. abc,gh

一个用户定义函数(aka UDF)应该让你通过这个。

Function udf_Whats_Colored(rTXT As Range, Optional iCLRNDX As Long = 3) Dim c As Long, str As String For c = 1 To Len(rTXT.Text) With rTXT.Characters(Start:=c, Length:=1) If .Font.ColorIndex = iCLRNDX Then If Not CBool(Len(str)) Or _ rTXT.Characters(Start:=c + (c > 1), Length:=1).Font.ColorIndex = iCLRNDX Then str = str & Mid(rTXT.Text, c, 1) Else str = str & ", " & Mid(rTXT.Text, c, 1) End If End If End With Next c udf_Whats_Colored = str End Function 

考虑到所有可用的红色阴影之后,我select了更简单的.ColorIndex = 3解决scheme。 有一个可选的参数,以便您可以设置自己的ColorIndex属性号码。 如果您需要更多的颜色,将代码交换到.Font.Color属性应该是一个小问题。

哪些红色字符

在上面的B2中使用的语法是,

 =udf_Whats_Colored(A2) 

ColorIndex调色板表
ColorIndex调色板表