• 締切済み

Excelのセル内の文字色について

A列には名前を入力して名前の後に 名前(ニックネーム) の様に()を入れています。 一度に、この()の文字色のみを変えるにはどうしたらよいでしょうか。

みんなの回答

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.6

(○○)版です。以外に簡単。 Sub testBLUE()   Dim rng As Range   Dim flg As Boolean   Dim i As Integer   For Each rng In Selection.Cells     flg = False     For i = 1 To rng.Characters.Count       With rng.Characters(i, 1)         If .Caption Like "[()]" Then           flg = True         End If         If flg Then           .Font.Color = vbBlue '青         End If         If .Caption = ")" Then           flg = False         End If       End With     Next   Next End Sub

全文を見る
すると、全ての回答が全文表示されます。
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.5

基本的には、#3さんのアレンジ '---------------------------------------------------------- Sub 括弧を赤に() Dim セル As Range Dim 文字 As Integer For Each セル In Selection.Cells For 文字 = 1 To Len(セル.Value) If セル.Characters(文字, 1).Caption = "(" Then セル.Characters(文字, Len(セル.Value)).Font.ColorIndex = 3 Exit For End If Next 文字 Next End Sub '---------------------------------------------------------- #3さん分かりやすいコード有難う御座います 私も勉強させていただきました

全文を見る
すると、全ての回答が全文表示されます。
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.4

> (○○)の()は色が変わりましたが○○が変わらないのです。 最初に「()の文字色のみを変える」と言ってるじゃないですか。 (○○)を変えるのは、3分では無理。 これから出かけるので 心ある方からのレスをお待ちください。 深夜、まだ解決していなければレスします。

全文を見る
すると、全ての回答が全文表示されます。
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.3

セルを選択しておいて実行してください。 Sub test()   Dim rng As Range   Dim i As Integer   For Each rng In Selection.Cells     For i = 1 To rng.Characters.Count       With rng.Characters(i, 1)         If .Caption Like "[()]" Then           .Font.Color = vbRed '赤         End If       End With     Next   Next End Sub 他の色にしたい場合は、こちらを参考に。 http://oshiete1.goo.ne.jp/qa4539881.html

summer0814
質問者

お礼

今、実行してみました。 (○○)の()は色が変わりましたが○○が変わらないのです。 マクロ自体、初めての事なのでもう少しご教授くださいますでしょうか。

全文を見る
すると、全ての回答が全文表示されます。
  • namemari
  • ベストアンサー率66% (6/9)
回答No.2

A列とB列の間にもう1列挿入して、 その列に(ニックネーム)の列として色を変えるのではダメでしょうか。 (既にA列に入ってしまっている場合でも、「区切り位置」という方法を使えば名前とニックネームのセルを簡単に分けることができます。) わたしが知らないだけかもしれませんが、 経験上、同じセルの中ではできなかったと思います。

参考URL:
http://www.becoolusers.com/excel/text-to-columns.html
summer0814
質問者

お礼

すみません。 説明が足りなかったです。 列の挿入はしないものと前提しての質問でした。

全文を見る
すると、全ての回答が全文表示されます。
  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.1

方法1 セルを選択 → F2キーを押す又はセル内でダブルクリックして()を選択 → Ctrlキー+1でセルの書式設定ダイアログで 色を設定又は書式設定ツールバーのフォントの色で設定 方法2 セルを選択 → 数式バーで()を選択 → Ctrlキー+1でセルの書式設定ダイアログで色を設定又は書式設定ツールバーのフォントの色で設定

summer0814
質問者

お礼

ご回答有難うございます。 上記のやり方でもできるのですが 一度に変換を行いたいのですが他に方法はありますでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルのセル内の文字の移動

    いつもお世話になります。 教えてください。 A列に入力されてる文字とB列に入力されてる文字をすべてA列に表示するにはどうすればいいのでしょう。セルの結合ではなく文字の移動が可能でしょうか。200行位を一発で変換したいのですが。よろしくお願いします。   

  • エクセルで同列のセルに同じ文字セルが入らないようにする方法を教えてください

    こんにちは。いつも大変お世話になっています。 エクセルで、月ごとに、顧客別ごとの売上一覧表なるものを作成しています。 A列に顧客の名前、B,C,D,E列に品物名,F列にその合計が入るといった感じのものです。 月末に伝票を見ながら入力していくのですが、同じ人は1行にデーターを足していれています。 が、全部入力した後、うっかり同じ名前が3行に入っている、ということがあります。 そこで入力する時に、もう既にA列に入力済の名前を、なんらかの方法でチェックできるようにしたいのです。 何かよい方法はありますでしょうか? 教えて頂けると助かります。 よろしくお願いします。

  • エクセルでA1のセルの文字とB1のセルの文字をくっつける方法

    たとえばA1のセルに「田中」という文字が入力されていて、B1のセルに「太郎」という文字が入力されているとします。 これをC1のセルに、A1セルとB1セルの文字をくっつけて「田中太郎」という文字を表示させたいのですが、関数か何かを使用してこういったことはできませんでしょうか? ちなみに、A列及びB列セルに文字が200個くらい入力されているので、コピーペーストでは辛いんです。

  • エクセルで重複するセルをみつけるには?

    エクセル2003で A列1行目から順番に青木、岡田、山田のように名前が入力されていて同様に B列1行目から順番に、青木、上田、渡辺のように名前が入力されています A列からB列にある名前と同じものを見つけ出して、その後削除したいのですが どうすればいいでしょうか?

  • エクセルで文字列の右から4文字を削除してセルに表示したい

    明けましておめでとうございます。宜しくお願いします。 エクセルの文字表示で、A列(A1~A20)に文字数の違う文字列が20行程入力されています。それを、A列(A1~A20)のセルに入力されてされている文字列から4文字だけ削除して、B列(B1~B20)に表示(入力)したいのですがどうすればいいのでしょうか? 例えば、A列(A1~A20)のセルにそれぞれ「今年は2008年です。etc.」とか「今年は2008年1月3日です。etc.」、、、など文字数の違った文字列が入力されているセルの右から4文字分「etc.」だけ削除してB列(B1~B20)に「今年は2008年です。」とか「今年は2008年1月3日です。」というふうに表示(入力)したいのです。テキストを読んでMID関数で出来るかなと思ったのですが、MID(文字列の、何文字目から、何文字分)というもので、文字列の左から何文字目を先頭に、何文字分を表示ということで、私のやりたい事の逆なのです。いい方法を教えて下さい。

  • エクセル セル内の文字を分けたい

    A列 ○○株式会社 山田太郎 ↓ A列      B列 ○○株式会社  山田太郎 このようにA列に会社名[スペース]名前が入っていてそれをA列に会社名、B列に名前に分けけるにはどうしたらよいでしょうか?? おわかりの方教えてくださーい!     

  • エクセルのセルをENTERで指定箇所に移動させる

    ということをしたいと思っています。といっても、そんなにややこしい移動でなく、 A1B1,A2B2,A3B3というように、 右に一度進んだら斜め下に行く、という作業を繰り返したいだけです。 つまり、B列の入力をした後は必ずA列に戻って次の行から入力できる状態にしたいのです。 なお、移動にはENTERを使いたいと思っています。 CTRLで入力するセルに順番と名前をつけてやる方法を自分で見つけてやってみたのですが、 これだと、一度でもこの範囲内からはずれてしまうと、また一からの入力になってしまいますし、 理想はこのA列B列のどこから入力を開始しても、B列入力の後は次の行のA列に移動する、ということなのですが、、、。 入力しないセルをロックして保護する、という方法もやってみたのですが、私が何か間違っているのでしょうか、C列をロックしてもうまくいきませんでした。 なぜこのようなことをしたいかというと、誰でも使いやすいフォーマットを作っておきたいため、 このようにセル移動するシートを作成したいのです。 どなたかもしいい案があればどうぞお願いいたします。

  • 一つのセルに特定の文字が入ると隣のセルに条件に合った文字を入力したい

    列Aと列Bに特定の条件を入力します。 列Cに列Aに入力した行の文字を入力規則のリストで呼び出すと、列Dに列Aと同じ行に入っている列Bの文字を自動で入力するようにしたいのですが、どのようにしたらいいでしょうか? IF関数で条件分岐させようと思ったのですが列AもBも随時追加されていくのでこの方法が使えませんでした。

  • エクセル セル参照

    A1セルには1~20までの任意の数を入力します B1には文字列を入力します。 A1に入力された数によって、B1セルの文字列の内容をC1~C10の各セルにコピーするにはどうしたらよいでしょうか。 たとえば、A1が3のとき、B1の文字列をC3にコピーしたい。 VBAでもかまいません。 お願いします。

  • エクセルでセル結合関数

    以下のことをしたいのですが、 難しくてできません。 どなたか教えてください。 a1 b1 c1 a2 b2 c2 a3 a2 a3 (1)a列に「あ」と入力すると b1とc1セルが結合し、結合したセルに「-」が入る (2)a列に「い」と入力すると b列には自由に文字を入れられる c列には「う」が入る (3)a列にそれ以外がはいるとブランク (1)かつ(2)かつ(3)のことをしたいです。 おそらくc列に =if(a="あ",[b列セルとc列セルを結合した後、-を入力],if(a="い","う","")) だと思うのですが、 [b列セルとc列セルを結合した後、-を入力] がわかりません。 よろしくおねがいします。

このQ&Aのポイント
  • SBI損保の事故後の対応について、加入者の声をまとめました。コメントを見ると金を払う価値があるのか疑問視されています。
  • SBI損保の事故後の対応を実際に経験した人たちの評判は最悪です。加入者のなかでも不満の声が多く聞かれます。
  • なぜ、評判の悪いSBI損保に加入しているのか疑問が浮かびます。加入者の意見をまとめると、特典や料金の面で魅力的だったからという声が多いです。
回答を見る

専門家に質問してみよう