【问题标题】:Can I set the color/format with the &-Operator in Excel?我可以在 Excel 中使用 &-Operator 设置颜色/格式吗?
【发布时间】:2019-11-03 05:30:20
【问题描述】:

我有一个类似这样的 Excel 文档

A       B        
apple   banana   
banana  fig

我想要这个结果。

A       B        C 
apple   banana   applebanana
banana  fig      bananafig

但我希望 Excel 保留原始颜色

使用 C1=A1&B1 我可以做到这一点

使用水果示例: 结果是用标准格式编写的“applebanana”。 但我希望 C 列保留 A 和 B 的颜色:

“apple”这个词总是红色的,“banana”总是用黄色写的。我在 C1 中想要的结果是“applebanana”,但“apple”的字母为红色,“banana”部分为黄色。

这可以用 Excel 实现吗?我在网上找不到任何东西。

【问题讨论】:

  • 没有。公式不能应用格式,任何包含公式的单元格只能将格式应用于整个单元格,而不是单个单词。
  • 您需要一个 VBA 解决方案。如果字符串只是一个字符串,而不是公式的结果,Excel 只能对字符串的部分进行差异格式化。

标签: excel colors format


【解决方案1】:

尝试使用宏,例如:

Sub Test()

Dim X As Long, Y As Long, CLR1 As Long, CLR2 As Long
With ThisWorkbook.Sheets("Sheet1") '<Change accordingly
    For X = 1 To .Range("B" & Rows.Count).End(xlUp).Row
        CLR1 = .Cells(X, 1).Font.ColorIndex
        CLR2 = .Cells(X, 2).Font.ColorIndex
        .Cells(X, 3) = .Cells(X, 1) & .Cells(X, 2)
        With .Cells(X, 3)
            For Y = 1 To .Characters.Count
                If Y > Len(ThisWorkbook.Sheets("Sheet1").Cells(X, 1)) Then
                    .Characters(Y, 1).Font.ColorIndex = CLR2
                Else
                    .Characters(Y, 1).Font.ColorIndex = CLR1
                End If
            Next Y
        End With
    Next X
End With

End Sub

【讨论】:

    猜你喜欢
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多