excel基于活动单元格的条件格式

我试图轻松地表示活动单元格和一组其他单元格之间的关系,最好使用条件格式。

我本质上是制作甘特图,并希望能够为单元格遮蔽不同的颜色来识别依赖关系。 所以这个想法是在AI列中有一组任务ID,在列BI中有描述,列C是一组依赖关系。

当我select了类似'B3'的东西时,它会查看C3中的值(列A中包含的ID的逗号分隔列表),以确定列A中由ID标识的匹配行是依赖关系 – 然后用不同的颜色。

这将根据活动单元切换。

我猜这是不可行的条件格式,可能需要做一些VBA或想出一个不同的方式来确定这些关系。 有人做过类似的事吗?

比方说,我有我的简单的表设置这样的事情:

Task ID | Description | Dependencies --------|-------------|------------- 1 | Task One | 2 | Task Two | 1 3 | Task Three | 4 | Task Four | 1, 3 5 | Task Five | 1, 2, 4 

当我select了“1,3”单元格(旁边的任务四),我想要任务一和任务三被突出显示。

我添加了一些VBA代码来实时更新一些条件格式。

 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Target.Calculate End Sub 

我有一些条件格式工作,以突出显示与我已经作为活动单元格在同一行中的不同的单元格:

 =CELL("address")=CELL("address",$C2) 

适用于我想突出显示的列B列

但我不想总是突出显示相邻的单元格…我想根据“依赖性”列中的值find适当的任务。

在工作表代码中使用此事件:

 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim str As Variant Dim strarr() As String Dim j As Long If Not Intersect(Target, Range("C:C")) Is Nothing Then Range("B:B").Interior.Pattern = xlNone If Target <> "" Then strarr = Split(Target, ",") For Each str In strarr j = 0 On Error Resume Next j = Application.WorksheetFunction.Match(CLng(Application.Trim(str)), Range("A:A"), 0) On Error GoTo 0 If j <> 0 Then Cells(j, 2).Interior.Color = 65535 End If Next str End If End If End Sub 

在这里输入图像说明