格式化与下拉值匹配的列 Excel 2003/VBA

格式化与下拉值匹配的列 Excel 2003/VBA

我在 Excel 中有一个下拉列表,允许用户选择比较银行。当选择一家银行进行比较时,该银行的所有出现都会在下拉列表下方的表格中突出显示。这是我的问题:我还想在包含银行名称的表格旁边的表格中突出显示关联值。关联值位于同一行,但在右侧有六列。我使用以下代码在更改时运行

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Target.Worksheet.Range("A1")) Is Nothing Then HighLightCells2
End Sub

其功能完美,可突出显示所选的银行名称。

我需要一些代码方面的帮助,这些代码也会突出显示在关联银行的匹配季度中。我无法发布图片 - 这里是描述。下拉列表包含银行名称,6 列数据(6 个季度),包含排名的银行名称。相邻的是 6 列金额,这些金额与包含银行名称的列相关。银行排名会随季度而变化,因此虽然银行列表不变,但顺序会发生变化。右侧的值列与银行的顺序相同,因此如果“超级银行”列在列的第三行,则C(4q2008)超级银行的相关 2008 年第四季度值可以在列中找到J,这就是我想要突出显示的值。有 6 个季度的数据,因此当从下拉列表中选择一家银行并在银行名称表中突出显示所有出现的情况时,我还希望在值表中突出显示相同 6 个季度的所有关联值。

我不太了解 VBA。我想我可以使用偏移量……但我不清楚要应用格式的范围和单元格。任何建议都值得赞赏。

答案1

注意:此答案是使用 Excel 2007 创建的,但相同的概念可应用于 Excel 2003。

您可以使用 Excel 的条件格式功能来执行此操作,我相信您只需要两个简单的规则即可完成此操作。

使用 中的下拉菜单A1、 中的银行排名C2:H6和 中的值I2:N6,您可以设置以下规则(使用“使用公式确定要格式化的单元格”选项):

  • 应用于$C$2:$H$6-=$A$1=C2
  • 应用于$I$2:$N$6-=$A$1=C2

在此处输入图片描述

使用这些规则,您应该会得到想要的结果(例如,如果在中选择了“银行 3” A1,则银行 3 的所有值都将在表中突出显示)。

在此处输入图片描述

相关内容