- ベストアンサー
エクセルで変数の部分の文字色を変更
よろしくお願いします。 エクセルで業務で使う表の編集を依頼されております。 現在、シート1とシート2があり、シート1に設定値を入力すると シート2にも反映されるように「="設定値:"&シート1!A2」という形で セル内に記述している部分があります。 ここで本題なのですが、 この変数でシート1から参照してきている値の個所だけ 文字色を変えて表示されるようにしたいのですが可能でしょうか? (上の例ですと「設定値:(ここまで黒字)300(ここは青字)」 という表示結果にしたいのです) 文字色を変える関数というのは無いようなので、実現できるとすれば VBAを組むしか無さそうですが、当方はVBAを組んだ経験がありません。 (ソースを読んで動作を想像できる程度です) どなたか、ソースコードつきで解説して頂けませんでしょうか。
- みんなの回答 (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
その他の回答 (3)
- pu--n
- ベストアンサー率56% (32/57)
こんにちわ。 いや~。いろいろ試してみました。が・・結論は 「無理」 でした。 検証中にNo2の方の回答があり、結論は同様です。 セル全体の文字色は変更できますが、途中からの変更は出来ませんでした。 強引にご質問の内容に沿う形にすると、セルに設定された書式 (="設定値:"&シート1!A)をValue形式(書式ではなく値)に置き換えなければならず、セル書式の意味がなくなってしまうことになりました。 残念ですが・・。 <追記> 初めての投稿(?)みたいですが、質問の内容と、その回答要求内容はかなりきわどいので、今後は注意しましょう!。
お礼
この作業にかけられる時間が限られており、 焦ったあまり規約を理解し切れていなかったようです。 申し訳ありません。 不可能という事を教えていただいたので、 対応できる範囲内での編集を行う事にしました。 ご回答ありがとうございました。
- imogasi
- ベストアンサー率27% (4737/17069)
VBAのコードを書けというのは丸投げで、規約違反です。 ーー ここういうのはどうかな。 Sheet2には=sheet1!XXといった式が数箇所入っているとする。 該当しそうなセル範囲を多めに指定して 編集ー置換ー 検索する文字列 Sheet1! 置換する文字列 Sheet1! 「オプション」ボタン 置換後の文字列 の右の「書式」ボタンクリック フオント 色 赤(またはセルパターンを淡い赤系) Ok すべて置換 Sheet1!XXの入ったセルの文字は赤くなる。 2002以上ならなら大丈夫と思う。
お礼
この作業にかけられる時間が限られており、 焦ったあまり規約を理解し切れていなかったようです。 申し訳ありません。 頂いた案は参考にさせて頂きます。 ありがとうございました。
- au-W52SH
- ベストアンサー率12% (58/471)
セルを2つ使い、A1セルに"設定値:"と書き込み、B1セルに=シート1!A2と書き、B列のセルの書式設定→フォントといき、そこからフォントの色の変更を行ったほうが楽なように感じます。
お礼
ありがとうございました。 なるべくセルの構成を変更せずに対処したかったこともあり、 「マクロで・・・」と質問させて頂きました。
お礼
不可能という事ですが、ソースは勉強になりました。 ありがとうございました。