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