1

我希望有人可以帮助我,我正在创建一个帐户电子表格,其中“表 1”包含以下列表:

  • 我们将计费的所有活动

  • 活动预算

  • 计划支出

  • 实际支出

  • 预算差异(即剩余的钱要花掉,或者如果超支将被标记为红色)

此外,我还有许多与此支出相关的其他标签;所以每个选项卡都与不同的部门相关。这允许用户直接进入他们的部门并通过下拉列表将他们的支出分配给正确的“活动”(该列表反映了表 1 中显示的活动列表)。

我试图做的是确保如果有人进入其他选项卡之一并从下拉列表中选择“活动”,该下拉列表已在前表中标记为超支,这会将“活动”标题变为红色。即在格式方面反映了前台活动标题。

我创建了一个基本版本的工作表,它应该更清晰;只是不确定我是否可以上传它?

4

2 回答 2

0

虽然您无法设置实际列表的样式,但您可以在选择完成后设置单元格的样式。这可能是可能的,Conditional Formatting但我并没有真正接受,所以我只是使用了 VBA。

示例工作表

我的示例有一个Validation Listin Cell A1,它从 range 中获取其列表B1:B3。VBA 代码检测到单元格的任何更改,并使用带有 rangeA1的 a 查找颜色。VLookupB1: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

您也可以(或相反)根据天气超出预算来更改列表项。

例如:Cakesvs!!CAKES!!

它并不那么漂亮,但实现起来相当简单。

于 2013-03-15T14:27:01.557 回答
0

一个简化的例子是:

SO15434119 示例

它发生在 Sheet1!E 中的值被计算。

Sheet1!A1:E7 是一个名为 Awarning 的工作簿范围。

Sheet2!C2:C7 恰好是包含用于验证的列表的范围。

条件格式已应用于 Sheet2!A2:A7 并带有新规则...,使用公式确定要格式化的单元格,在此公式为真的情况下格式化值:

=VLOOKUP(A2,Awarning,5,0)<0  

和红色填充。

于 2014-06-04T00:31:46.733 回答