2016-12-06 13 views
1

システムのユーザーが、適切なロール名を持っているかどうかを確認しています。私は、このようなabitのように見えるExcelの表を完成さ:テーブル条件に基づいたExcelのセルの塗りつぶし

Table

私はより読みやすい形式にテーブルをオンにしようとしています。私はこのようになりますピボット行った:

table 2

をしかし、私は適切なのアクセスを反映するために、細胞をハイライト表示するかどうかはわかりませんか?はい/いいえ 'の列に表示されます。理想的には、「適切なアクセス? = 'いいえ'。私はVBAを使用することを考えていますが、式やピボットテーブルを使用して簡単なソリューションがあるかどうか疑問に思っていましたか?

+0

条件付き書式ソースですか? –

+0

@Nathan_Savあなたは精巧にできますか? –

+0

https://support.office.com/en-gb/article/Use-a-formula-to-apply-conditional-formatting-fed60dfa-1d3f-4e13-9ecb-f1951ff89d7fあなたの数式は= vlookupのようなルックアップですa2、data!a1:d10,4,0)= "x" –

答えて

0

あなたのピボットデータは実際のエクセルピボットテーブルではありませんか?私はxの意味を知っていますが、どこから来ていますか?

VBAを使用しない柔軟なセットアップと、UDFを使用する簡単なVBAアプローチが必要な場合は、2つの可能性があります。

Quick'n'dirty(本当に汚い)が使用 1/0の代わりに、 yes/no(あなたが if -functionとヘルパー欄にそのを書くことができ)
  • が作成

    • になり
      1. 列の場合はROLE_NAME、行の場合はUSER_NAME、数値の場合はSUMまたはMAX[Access appropriate]の新しいピボット

      2. を意味します。あなたのxのdは、10になります。空のセルはまだ空です。
      3. 条件付きフォーマット値の範囲。 If 1 then green If 0 then yellow if "" then Nothing
  • また、あなたはINDEXMATCHVLOOKUP -formulasのような数式を使用して、出力テーブルを構築することができます。

    • 条件付き書式値レンジ
  • VBA必要とされるであろうUSERNAME & ROLE_NAMEと追加のキー列:あなたの行に定義された関数が行うことができ、ユーザが

    を以下の異なる提供されます
    • recordsetにデータを読み込んでいない場合(意味:宣言済みモジュールレベルで、最初の関数呼び出しは、それを記入します)
    • アクセスあなたの入力パラメータに基づいてRecordset.Filterを使用して、レコード内のデータ - あなたの入力パラメータに基づいて、あなたのケースでUSERNAMEROLE_NAME
    • 出力一定Field.Value - Access Appropriate in your case
    • 条件付き書式ダからそれをルックアップするために式を使用して(これは簡単にUDFの内部で行うことができないので)あなたが得るTRUE/FALSE
  • +0

    はい、ピボットテーブルです。 'x'は私のテーブルのすべての '1'の置き換えです:) –

    関連する問題