重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【解消】通知が届かない不具合について

よろしくお願いします。

エクセルで業務で使う表の編集を依頼されております。
現在、シート1とシート2があり、シート1に設定値を入力すると
シート2にも反映されるように「="設定値:"&シート1!A2」という形で
セル内に記述している部分があります。

ここで本題なのですが、
この変数でシート1から参照してきている値の個所だけ
文字色を変えて表示されるようにしたいのですが可能でしょうか?
(上の例ですと「設定値:(ここまで黒字)300(ここは青字)」
という表示結果にしたいのです)

文字色を変える関数というのは無いようなので、実現できるとすれば
VBAを組むしか無さそうですが、当方はVBAを組んだ経験がありません。
(ソースを読んで動作を想像できる程度です)
どなたか、ソースコードつきで解説して頂けませんでしょうか。

A 回答 (4件)

試してみましたが、数式の場合、途中から文字色を変える事は不可能な様ですね。

(少なくとも、当方のXL2000の場合は)
Sub test2()
'a1に、設定値:300という文字列
'a2に、="設定値:" & B2 という式を入れて実行(B2は'300)
Debug.Print Range("a1").Characters(5, 3).Font.ColorIndex
Range("a1").Characters(5, 3).Font.ColorIndex = 5
Debug.Print Range("a1").Characters(5, 3).Font.ColorIndex
Debug.Print Range("a2").Characters(5, 3).Font.ColorIndex
Range("a2").Characters(5, 3).Font.ColorIndex = 5
Debug.Print Range("a2").Characters(5, 3).Font.ColorIndex
'a1は文字列の途中から色が変わるが、a2は変わらない
Stop
Range("a2").Characters(1, 3).Font.ColorIndex = 5
Debug.Print Range("a2").Characters(1, 3).Font.ColorIndex
'a2の頭から3文字を指定すると、全体の色が変わってしまう
End Sub
    • good
    • 0
この回答へのお礼

不可能という事ですが、ソースは勉強になりました。
ありがとうございました。

お礼日時:2008/07/09 23:27

こんにちわ。



いや~。いろいろ試してみました。が・・結論は 「無理」 でした。

検証中にNo2の方の回答があり、結論は同様です。
セル全体の文字色は変更できますが、途中からの変更は出来ませんでした。
強引にご質問の内容に沿う形にすると、セルに設定された書式 (="設定値:"&シート1!A)をValue形式(書式ではなく値)に置き換えなければならず、セル書式の意味がなくなってしまうことになりました。

残念ですが・・。

<追記>
初めての投稿(?)みたいですが、質問の内容と、その回答要求内容はかなりきわどいので、今後は注意しましょう!。
    • good
    • 0
この回答へのお礼

この作業にかけられる時間が限られており、
焦ったあまり規約を理解し切れていなかったようです。
申し訳ありません。
不可能という事を教えていただいたので、
対応できる範囲内での編集を行う事にしました。
ご回答ありがとうございました。

お礼日時:2008/07/09 23:32

VBAのコードを書けというのは丸投げで、規約違反です。


ーー
ここういうのはどうかな。
Sheet2には=sheet1!XXといった式が数箇所入っているとする。
該当しそうなセル範囲を多めに指定して
編集ー置換ー
検索する文字列 Sheet1!
置換する文字列 Sheet1!
「オプション」ボタン
置換後の文字列 の右の「書式」ボタンクリック
フオント 色 赤(またはセルパターンを淡い赤系)
Ok
すべて置換
Sheet1!XXの入ったセルの文字は赤くなる。
2002以上ならなら大丈夫と思う。
    • good
    • 0
この回答へのお礼

この作業にかけられる時間が限られており、
焦ったあまり規約を理解し切れていなかったようです。
申し訳ありません。
頂いた案は参考にさせて頂きます。
ありがとうございました。

お礼日時:2008/07/09 23:30

セルを2つ使い、A1セルに"設定値:"と書き込み、B1セルに=シート1!A2と書き、B列のセルの書式設定→フォントといき、そこからフォントの色の変更を行ったほうが楽なように感じます。

    • good
    • 0
この回答へのお礼

ありがとうございました。
なるべくセルの構成を変更せずに対処したかったこともあり、
「マクロで・・・」と質問させて頂きました。

お礼日時:2008/07/09 23:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!