如何根据在Excel中单击的值突出显示多个单元格

时间:2019-03-01 08:10:27

标签: excel vba formatting

上下文

Excel文件由两部分组成。

  1. 常规数据集(如下图所示)
  2. 多个机器模块及其相应电缆槽的2D表示。

任务

当我单击数据集中的ID时,我想突出显示二维表示中的相应单元格

此模型图像显示了所需的效果。 Image of multiple selected fields with duplicates that should be filled 如图所示,二维表示中有多个具有重复值的单元格需要突出显示

人们将如何做这样的事情?

2 个答案:

答案 0 :(得分:2)

您应该按照Jerry所说使用VBA。我会看看Worksheet_SelectionChange Event 要触发突出显示并使用for循环遍历各列,以检查相应的单元格是否需要突出显示。

答案 1 :(得分:0)

正如Alex所建议的,Worksheet_SelectionChange事件是一种解决方法。 现在可以正常使用了。

Working as intended

这就是我写的。

\\Constructor
\\ResetColors
\\MakeTrenchYellow subroutines here.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 1 And 3 - Selection.Cells.Count > 1 Then
        Constructor
        ResetColors

        Dim SelectedRowTextjoin As String
        SelectedRowTextjoin = Target.Offset(0, 6).Value

        Dim CurrentResult As Variant
        CurrentResult = Split(SelectedRowTextjoin, ", ")

        Dim AmountOfElements As Integer
        For Each Item In CurrentResult
            AmountOfElements = AmountOfElements + 1
        Next

        For i = 1 To AmountOfElements
            MakeTrenchYellow (CurrentResult(i - 1))
        Next i
    End If
End Sub