重要なお知らせ

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

【GOLF me!】初月無料お試し

ごめんなさい、先日同じ質問したのですが、締め切ったときの方法では出来なかったのでもう一度質問します。
(急いでたので確認せずに締め切ってしまいました。ごめんなさい。)

=====

例えばセルA1に「あいうえおかきくけこ」と入力されています。
セルB1には「=A1」という数式が入力されていて、結果「あいうえおかきくけこ」が返っています。

ここでセルB1の「かきくけこ」の部分だけの文字色を(マクロ以外の方法で)変更することは可能でしょうか。
この「あいうえおかきくけこ」の部分は「さしすせそたちつてと」になるときもあるし、「ABCDEFGHIJ」になるときもあります。

Excel素人が操作することになるので、できるだけ簡単なやり方を教えてもらえればありがたいです。
どうぞよろしくお願いします。

=====

なお
条件付き書式で「か」から「こ」の間の書式を変更する方法では出来ませんでした。
またExcelのバージョンは操作する人によって違う(2003と2007が混在しております)ので、取りあえず2003でやる方法を教えていただければ幸いです。

A 回答 (2件)

2003までしか使ったことはありませんが、計算式の答えで出た文字列の一部だけ色を変えることは書式でもマクロでも出来ないはずです。


計算式の答えを、コピペで文字列化してよく、色の区切りを文字数とか何らかの方法で特定できるならマクロをつかえば可能です。
    • good
    • 0
この回答へのお礼

なるほど、やっぱり簡単には出来ないのですね。
いつかは出来るようになると嬉しいんですがね。

ありがとうございました!

お礼日時:2010/12/15 14:02

こんにちは!


merlionXXさんが仰っているようにVBAでも数式で表示されているセル内で、部分的に文字の色を変えることは出来ないと思います。

値として貼り付けたセル内であれば可能です。
そこで全てVBAの方法の一例です。
A列をB列表示するのもVBAのコードに入れていますので、A列のみのデータでOKです。
A列のデータをB列に表示させ、B列の「か・き・く・け・こ」の文字色を赤にするようにしてみました。

画面の左下にあるSheet見出しの操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので
↓のコードをコピー&ペーストしてマクロを実行してみてください。
Excel2003の場合は
メニュー → ツール → マクロ → マクロ → 実行
Excel2007の場合は
メニュー → 開発 → マクロ → 実行 だと思います。

Sub test() 'この行から
Dim i, j As Long
Dim str As String
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
Cells(i, 2) = Cells(i, 1)
Next i
For i = 1 To Cells(Rows.Count, 2).End(xlUp).Row
For j = 1 To Len(Cells(i, 2))
str = Mid(Cells(i, 2), j, 1)
If str Like "[か-こ]" Then
Cells(i, 2).Characters(Start:=j, Length:=1).Font.ColorIndex = 3
End If
Next j
Next i
End Sub 'この行まで

1行目からデータがあるコードにしていますが、1行目がタイトル行で2行目以降にデータがある場合は
For i = 1 To Cells・・・部分の「1」を「2」に変更します。
(For j = 1 To Len(Cells(i, 2)) の方はそのままです)

>Excel素人が操作することになるので、できるだけ簡単なやり方・・・
とありますが、セル内の特定文字の色だけを変えるというのは簡単にはいかないと思いますよ。

もし簡単な方法があればごめんなさいね。m(__)m
    • good
    • 0
この回答へのお礼

マクロの実例まで表示してくださってありがとうございます。
簡単には出来ないもんですね。
ありがとうございました!

お礼日時:2010/12/15 14:05

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