Vba 基于表格条件为Excel单元格着色

Vba 基于表格条件为Excel单元格着色,vba,excel,Vba,Excel,我正在检查系统的用户,并检查他们是否有合适的角色名。然后我完成了一个excel表格,看起来有点像这样: 我正在尝试将表格转换为更可读的格式。我制作了一个轴,看起来像这样: 但我不知道如何突出显示单元格以反映“适当的访问权限?”?“是/否”列。理想情况下,如果“访问是否合适?”=“否”,则应将其涂成黄色。我正在考虑使用VBA,但想知道是否有更简单的解决方案使用公式或数据透视表?您的数据透视表不是实际的excel数据透视表,是吗?我知道x是什么意思,但它们来自哪里 如果您想要一个没有VBA的灵活

我正在检查系统的用户,并检查他们是否有合适的角色名。然后我完成了一个excel表格,看起来有点像这样:

我正在尝试将表格转换为更可读的格式。我制作了一个轴,看起来像这样:


但我不知道如何突出显示单元格以反映“适当的访问权限?”?“是/否”列。理想情况下,如果“访问是否合适?”=“否”,则应将其涂成黄色。我正在考虑使用VBA,但想知道是否有更简单的解决方案使用公式或数据透视表?

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

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

  • 快脏(真脏)会是

    • 使用
      1/0
      而不是
      yes/no
      (您可以使用
      if
      -函数将其写入助手列)
    • 为列创建一个新轴,为行创建一个
      ROLE\u NAME
      ,为值创建一个
      USER\u NAME
      ,为值创建一个
      SUM
      MAX
    • 这意味着:您将得到
      1
      0
      ,而不是
      x
      。空单元格仍然是空的
    • 条件格式值范围,例如
      如果为1,则为绿色如果为0,则为黄色如果为“”,则为无
  • 或者,您可以使用
    INDEX
    MATCH
    VLOOKUP
    -公式构建输出表

    • 需要添加一个带有
      用户名
      角色名
      的键列
    • 条件格式值范围
  • VBA:如果行是不同的,则用户定义的函数可以执行以下操作

    • 如果还没有将数据读入
      记录集
      (意思是:在模块级声明,第一次函数调用将填充它)
    • 使用
      记录集访问记录集中的数据。根据您的输入参数--
      用户名
      角色名称
      进行筛选
    • 根据您的输入参数输出特定的
      字段。值
      -
      访问适合您的情况
    • 条件格式您获得的
      TRUE/FALSE
      值(因为这在UDF中不容易实现)

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

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

  • 快脏(真脏)会是

    • 使用
      1/0
      而不是
      yes/no
      (您可以使用
      if
      -函数将其写入助手列)
    • 为列创建一个新轴,为行创建一个
      ROLE\u NAME
      ,为值创建一个
      USER\u NAME
      ,为值创建一个
      SUM
      MAX
    • 这意味着:您将得到
      1
      0
      ,而不是
      x
      。空单元格仍然是空的
    • 条件格式值范围,例如
      如果为1,则为绿色如果为0,则为黄色如果为“”,则为无
  • 或者,您可以使用
    INDEX
    MATCH
    VLOOKUP
    -公式构建输出表

    • 需要添加一个带有
      用户名
      角色名
      的键列
    • 条件格式值范围
  • VBA:如果行是不同的,则用户定义的函数可以执行以下操作

    • 如果还没有将数据读入
      记录集
      (意思是:在模块级声明,第一次函数调用将填充它)
    • 使用
      记录集访问记录集中的数据。根据您的输入参数--
      用户名
      角色名称
      进行筛选
    • 根据您的输入参数输出特定的
      字段。值
      -
      访问适合您的情况
    • 条件格式您获得的
      TRUE/FALSE
      值(因为这在UDF中不容易实现)

  • 使用公式从数据源查找条件格式?@Nathan_Sav你能详细说明一下吗?如果您的公式是一个类似于=vlookup(a2,data!a1:d10,4,0)=“x”条件格式的查找,则使用公式从数据源中查找它?@Nathan_Sav您能详细说明一下吗?如果您的公式是一个类似于=vlookup(a2,数据!a1:d10,4,0)=“x”的查找,则它是一个透视表。“x”是我的表中所有“1”的替换项:)是的,它是透视表。“x”是我表中所有“1”的替换项:)