Excelの関数で質問です。


Sheet1のA1セルが青色だった場合、Sheet2のA1セルを赤色に変更する関数を教えて下さい。
要するに、Sheet1で青色にしたセルと、Sheet2のSheet1と同じ場所のセルを、違う色で色づけしていきたいのです。

よろしくお願い致します。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/04/01 21:35:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:SALINGER No.1

回答回数3454ベストアンサー獲得回数969

ポイント35pt

コメント欄がオープンではないのでこちらで失礼します。

関数ではできません。

なぜかと言うと、ワークシート関数ではセルの書式設定は変えられないからです。

これは、ユーザー定義関数でも同じです。


VBAならばこんな感じで可能です。

Sub Macro1()
    Dim r As Range
    For Each r In Worksheets("Sheet1").UsedRange
        If r.Interior.ColorIndex = 5 Then
            '3=赤
            Worksheets("Sheet2").Range(r.Address).Interior.ColorIndex = 3
        End If
    Next
End Sub
id:SALINGER No.2

回答回数3454ベストアンサー獲得回数969

ポイント35pt

関数だけではできないことは変わりませんが、まったくできないというわけでもありません。

4.0マクロ関数+条件付書式です。


1 Sheet2のA1セルを選択して、挿入→名前→定義で「名前の定義」ダイアログボックスを開きます。

2 名前を「CELLCOLOR」

3 参照範囲を「=GET.CELL(63,Sheet1!A1)+NOW( )*0」で追加。

4 Sheet2のA1セルの数式を「=CELLCOLOR」

5 Sheet2のA1セルを選択して、書式→条件付書式から

  「セルの値が」「次の値に等しい」「5」として

  書式をパターンを赤にしてOK。

6 A1セルに設定された数式と条件付書式を適用する範囲にコピー。


この方法で一応はできることはできるのですが、ざっと考えて以下の問題があります。


  • 色は反映されるがSheet2の各セルには関数が設定されるので、値は反映されない
  • セルの変化で再計算されない場合、手動で再計算することが必要。
  • Excel2007で使えない4.0マクロ関数もあるので、今後使えなくなる。
  • 4.0マクロ関数を使うとシートを開くたびにメッセージが出る。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません