excel - 如何从具有多种颜色文本的单元格中根据字体颜色提取文本

标签 excel text colors formatting vba

我有一列数据 (A)。 (A) 列中每个单元格中的数据一半是一种颜色,一半是另一种颜色。例如,假设字符串的第一部分是红色,字符串的第二部分是黑色。每个单元格内的红色和黑色字符串的长度不同,没有模式。红色和黑色的字符类型不同,没有图案。每个单元格内没有空格或特殊字符将红色字符与黑色字符分开。我想使用公式或函数提取每个单元格中的红色字符并将其复制到新列 (B) 中。有建议吗?

(A)原版......(B)红色

abjksglkjaf......abjk

kjd3kdn9j............kjd3kd

2hn89dslkjh.........2hn

最佳答案

您可以使用此用户定义的函数:

Function redPart(x As Range) As String
    Dim res As String
    With x
        For i = 1 To Len(.Value)
            ' red = RGB(255, 0, 0)
            If .Characters(i, 1).Font.Color = RGB(255, 0, 0) Then
                res = res & .Characters(i, 1).Text
            End If
        Next
    End With
    redPart = res
End Function

只需在单元格 B1 中写入公式 =redPart(A1) 并将其向下拖动即可。

结果:

enter image description here

关于excel - 如何从具有多种颜色文本的单元格中根据字体颜色提取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21514704/

相关文章:

excel - 生成每个可能的 VBA 引用 GUID 的列表

excel - 类实例的字典,如何分配新值?

javascript - 检查 HTML 标签是否可以包含文本

javascript - 使用 JavaScript 从 HTML 字符串中提取文本

typescript - 更改 Naive-UI 和 typescript 中的原色

colors - 使用预定义的颜色代码将 jpg 转换为 png?

PHPExcel XLS 未被识别为 OLE 文件

python - 用python读取多个pdf文件

java - 如何使任何 JComponent 的背景颜色闪烁?

Excel - 从列表中查找下一个大于 0 的值