• 締切済み

EXCEL関数での文字の色での判別

タイトル通りなのですが、Aシートのあるセルの文字の色が赤の場合にAシートの別の特定のセルをBシートの特定のセルへ反映する方法が分かりません。 ご教示お願いいたします。

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

#2のWendy02です。 #3 さんに付け足します。 http://office.microsoft.com/ja-jp/assistance/HP010475331041.aspx Excel 4.0 マクロ関数 あんまり役に立たないけれど、一応、ヘルプはあるのですが、全部英語です。 今の若い方には、あまり、そのヘンは困らないかと思いますが、character, cell, automatic というのは、Office 専用用語だから、やはりExcelを知らないと読めませんね。 内容例: --------------------------------------------------- GET.CELL 24 Font color of the first character in the cell, as a number in the range 1 to 56. If font color is automatic, returns 0. Excel 97にあるヘルプ(MACROFUN.HLP) 24 セルの最初の文字の色を 1 から 56 までの数値で返します。フォントの色が [自動] のときは 0 を返します --------------------------------------------------- 言語には、「Japanese」の選択がありません。(Excel 2000 用です) 日本のMSKK が、独自に作りこみすぎたので、変更ができなくなったのかもしれません。私たちが知っているヘルプと比較すると、全体の作りがよいです。MSの英語も日本語も、Office 2000 以降は、ひじょうに読みにくいです。たぶん機械仕掛けで文章を作成しているからだと思います。 97 までは、MACROFUN.HLP で存在していました。 http://support.microsoft.com/search/ 対象製品:「Excel 4.0」 キーワード:「マクロを使おう 関数」(全角空白を入れないこと) で検索しますと、ある程度出てきます。 書籍: 『マイクロソフト エクセル Version 4.0』 1993/1/20 発行 マイクロソフト株式会社 機能事典(マクロ編) なお、Excel2003 まででは、アドインのソルバーが、そのマクロで作られ使われています。今のところ、それ自体を辞めることにはならないと思いますが、先のことは分かりません。ただ、VBA自体も変わってしまいますから、いろいろ変わるかとは思います。

noname#149639
noname#149639
回答No.3

ANo.2さんにぶら下がり失礼します。 GET.CELLに関して http://jisenjuku.hp.infoseek.co.jp/free/051205.htm 私はこの本で知りました。 http://pc.nikkeibp.co.jp/pc21/mag/200311/index.shtml その関連です。 http://bbs.pc21.nikkeibp.co.jp/keyword-428 もう1つ http://hp.vector.co.jp/authors/VA016119/hajimete/udf1.html

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 Aシートのある文字のセルに、セルポインタをそのセルに置き、 メニュー-[挿入]-[名前]-[定義] 名前(W) 「IRO」 参照範囲(R) =GET.CELL(24,$A$1)+NOW()*0 OK と押します。 そうすると、名前の登録のセル範囲は、シート名付きに換わっているはずです。 次に、 SheetB に移り、 そのセルに、SheetAのA2 に反映させるのでしたら、以下のようになります。 =IF(IRO=3,SheetA!A2,"") ただし、F9 を押してあげないと、このIRO は反応してくれません。 注意:その名前定義を入れた式は、別のシートや別のブックにはコピーしないでください。エラーが発生します。これは、Verion4 マクロ関数を利用したものです。マクロの設定を高以上にしていると、Excel2003では、反応しません。 本格的に、VBAで行うなら、 '標準モジュールに以下のように入れてあげます。 'まあ、名前は任意ですが、他のものとぶつからないようにしています。 '------------------------------------------------------- Function FIro(rng As Range)  Application.Volatile  FIro = rng.Cells(1).Font.ColorIndex End Function '------------------------------------------------------- 同じようにしてあげます。 =IF(FIro=3,SheetA!A2,"") ただし、これも、F9 を押してあげないと、このFIRO は反応してくれません。自動的に認識させる方法もありますが、結構、何にでも反応してきますので、うっとうしいことがあります。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

EXCELの関数で文字の色を取得することはできません。 どうしても実現しようと思えばVBAでマクロを記述する必要があります。 ただしAシートのセルの文字色が「赤」になる条件があるなら条件付書式を用いれば実現可能です。 仮に「Aシートのあるセルの値が100以上のとき、Bシートの特定のセルを赤文字にする」なら、Bシートの特定のセルを選択して「書式」→「条件付書式」を選択し、「数式」「=Aシート!A1>=100」のとき、「書式」で文字色を赤にするという要領です

関連するQ&A