答案1
Excel 中唯一能够根据颜色区分不同单元格或文本的功能是 VBA。Excel 不是文本编辑器,也不是真正为制作复杂的报告或演示文稿而设计的 - 它是一个分析工具。Word 或 Powerpoint 可以根据文本颜色进行选择,因为它们是演示工具。
您的第二种可能性是添加分隔符,这是 Excel 环境中的最佳解决方案;使用其他应用程序可能是您最好的选择。
我确实希望 Excel 不要提供那么多格式选项,特别是在更高版本中 - 人类是视觉导向的,因此我们继续使用格式,而计算机真正需要的是清晰的分隔符。
答案2
该函数完成以下工作:
Function GetColorText(pRange As range) As String
Dim xOut As String
Dim xValue As String
Dim i As Long
xValue = pRange.Text
For i = 1 To VBA.Len(xValue)
If pRange.Characters(i, 1).Font.Color = RGB(112, 173, 71) Then
xOut = xOut & VBA.Mid(xValue, i, 1)
End If
Next
GetColorText = xOut
End Function
需要更改 RGB 的参数以匹配您要查找的颜色。此外,如果单个单元格中有多个子字符串,它们将被连接在一起。