基于表条件着色Excel单元格

时间:2016-12-06 09:41:29

标签: excel vba excel-vba

我正在浏览系统的用户并查看他们是否具有适当的角色名称。然后我完成了一个看起来像这样的excel表:

Table

我试图将表格变成更易读的格式。我做了一个看起来像这样的支点:

table 2

但我不确定如何突出显示细胞以反映“适当的访问权限”?是/否'柱。理想情况下,如果“访问适当”,它应该是黄色的?' ='否'。我正在考虑使用VBA,但是想知道使用公式或数据透视表是否有更简单的解决方案?

1 个答案:

答案 0 :(得分:0)

您的透视数据不是实际的Excel数据透视表,是吗?我知道x是什么意思,但它们来自哪里?

如果您想要一个没有VBA的灵活设置,以及使用UDF的相当简单的VBA方法,我们会想到两种可能性。

  1. Quick'n'dirty(非常脏)将是

    • 使用1/0代替yes/no(您可以将其写入带有if函数的帮助列中)
    • 为列ROLE_NAME创建一个新的轴,USER_NAME表示行,SUMMAX表示值{/ 1}}
    • 表示:您最终会获得[Access appropriate]x,而不是1。空单元格仍然是空的。
    • 条件格式化值范围,例如0
  2. 或者,您可以使用If 1 then green If 0 then yellow if "" then NothingINDEXMATCH等公式构建输出表 - 公式。

    • 需要使用VLOOKUP& USERNAME的其他关键列
    • 条件格式值范围
  3. VBA:如果您的行不同,则用户定义的函数可以执行以下操作

    • 将数据读入已经完成的ROLE_NAME IF(意思是:在模块级别声明,第一个函数调用将填充它)
    • 根据您的输入参数使用recordset访问记录集中的数据 - Recordset.FilterUSERNAME,在您的情况下
    • 根据您的输入参数ROLE_NAME
    • 输出某个Field.Value
    • 条件格式化您获得的Access Appropriate in your case值(因为这不能在UDF中轻松完成)