我可以自定义Excel下拉框的内容以反映另一个可变单元格的颜色吗?
我希望有人能帮助我,我正在创建一个账户电子表格,其中“表1”包含以下列表:我可以自定义Excel下拉框的内容以反映另一个可变单元格的颜色吗?,excel,drop-down-menu,conditional-formatting,fontconfig,Excel,Drop Down Menu,Conditional Formatting,Fontconfig,我希望有人能帮助我,我正在创建一个账户电子表格,其中“表1”包含以下列表: 我们将根据所有活动计费 活动预算 计划支出 实际支出 预算差异(即剩余支出或超支时将标记为红色的资金) 此外,我还有许多与此支出相关的其他选项卡;因此,每个选项卡都与不同的部门相关。这允许用户直接进入他们的部门,通过下拉列表(该列表反映了表1所示的活动列表)根据正确的“活动”分配他们的支出 我试图做的是确保如果有人进入其他选项卡之一,并从下拉列表中选择am“活动”,该列表在前页中被标记为超支,则会将“活动”标题变为红
- 我们将根据所有活动计费
- 活动预算
- 计划支出
- 实际支出
- 预算差异(即剩余支出或超支时将标记为红色的资金)
我已经创建了一个基本版本的工作表,这应该使它更清楚;只是不确定我是否可以上传它?虽然您无法设置实际列表的样式,但您可以在选择后设置单元格的样式。使用
条件格式可能是可行的,但我并没有真正做到这一点,所以我只是使用了VBA
我的示例在单元格A1
中有一个验证列表
,它从范围B1:B3
中获取其列表。VBA代码检测单元格A1
的任何变化,并使用VLookup
查找范围为B1:C3
的颜色
该示例在旧版本的excel中不起作用(2007+就可以了),您只需更改Target.Interior
的修改方式,因为旧版本不知道这些内容的大部分是什么
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Color As String
If Target.Address = "$A$1" Then
Color = Application.WorksheetFunction.VLookup(Range("A1"), Range("B1:C3"), 2, False)
Select Case Color
Case "Red"
With Target.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Case "Blue"
With Target.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 12611584
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Case "Green"
With Target.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Select
End If
End Sub
您也可以(或者相反)根据超出预算的天气情况更改列表项
例如:Cakes
vs!!蛋糕代码>
它没有那么漂亮,但实现起来相当简单。一个简化的例子是:
发生这种情况时,请参见表1中的值!E是计算出来的
第一张!A1:E7是一个名为Awarning的工作簿范围
第二张!C2:C7恰好是包含用于验证的列表的范围
条件格式已应用于Sheet2!A2:A7使用新规则…,使用公式确定要格式化的单元格,格式化此公式为真的值:of:
=VLOOKUP(A2,Awarning,5,0)<0
=VLOOKUP(A2,Awarning,5,0)你不能直接上传文件不,你需要上传到某个地方并提供链接。如果它是一个验证
列表,那么我不相信你能设计它。如果它是一个组合框
,那么您可以进行一些定制。我认为这是一份验证清单。我使用“数据验证”选项创建了它。