基于另一个单元格格式的单元格条件格式

基于另一个单元格格式的单元格条件格式

参照屏幕截图,我想以编程方式格式化单元格,如下所示:

If cell B4 and cell F4 are both red text, then format cell J4 to be red text.

(其他所有细胞也同样如此)。

我发现可以根据另一个单元格中包含的值来格式化一个单元格,但我发现不能根据单元格的格式来格式化。这可能吗?

在此处输入图片描述


添加更多信息。如上所述,我知道如何根据单元格的值设定条件。以下是一个例子

Sub FormatUsingVBA()
Dim rng As Range
Dim lastRow As Long
lastRow = Cells(Rows.Count, 3).End(xlUp).Row
Set rng = Range("C2:C" & lastRow)For Each cell In rng
If cell.Value2 = "Adult" Then
Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 3
ElseIf cell.Value2 = "KID" Then
Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 4
ElseIf cell.Value2 = "Teenager" Then
Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 6
Else
Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 0
End If
Next cell
End Sub

因此,它有一个基于单元格中的值的条件 ( If cell.Value2 = "Adult")。我想基于单元格的格式,但我不知道该怎么做。


在单元格中输入宏命令

细胞公式

宏

答案1

https://wiki.openoffice.org/wiki/Documentation/How_Tos/Calc:_STYLE_function

没有直接的方法来确定(在公式中)已对单元格应用了哪种格式。

所以听起来你需要编写一个宏,至少对于 Calc 来说是这样。对 MS Excel 不了解。

编辑

从我的回答https://ask.libreoffice.org/en/question/154239/get-color-of-text-in-cell/

Function RGBprobe(x , y, optional z)
    Dim RGBarray(1 to 3)
    oDoc = ThisComponent
    oSheet = oDoc.Sheets(0)
    'Decreasing coordinate values by 1 because BASIC starts numbering with 0.
    If NOT IsMissing(z) Then oSheet = oDoc.Sheets(z-1)
    oCell = oSheet.getCellByPosition(x-1,y-1)
    CBkC = oCell.CharColor
    RGBarray(1) = Red(CBkC) : RGBarray(2) = Green(CBkC) : RGBarray(3) = Blue(CBkC)
    RGBprobe = RGBarray
End Function

例如,检查单元格颜色的公式A1=RGBPROBE(1;1)。要查看所有三个返回值,请按++Ctrl查看数组公式结果。ShiftEnter

相关内容