親子におすすめの新型プラネタリウムとは?

EXCELの例えばA列の文字データの特定の文字列を一括して指定色(例えば赤)に変えるにはどうしたらよいか教えてください。
例:A列の1~1000行の各行に文字データが入力されている。これらのデータの内"ABC"という文字列だけ一括して赤色にかえたい。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

>データの内"ABC"という文字列だけ一括して赤色にかえたい


の意味が「ABCという文字列を含むセルは全部赤にしたい」ということであれば「編集」→「置換」→「置換前と後の文字列にABCを指定」→「オプション」→「書式」で文字色を指定できます。

そうではなく、「XXXXABC12334」という文字列の中で「ABC」の部分だけを赤にしたいならマクロが必要です。

以下のマクロをALT+F11でVBE画面を開き、「VBAProjectエクスプローラのシート名右クリック」→「挿入」→「標準モジュール」で表示される画面にペーストして下さい。実行はシート画面に戻って、ALT+F8を押してマクロ一覧からマクロ名を選択して実行します。
Sub Macro1()
Dim rng As Range
Dim ptr As Integer
Const tStr As String = "ABC" 'ここに色を変える文字列を書く
 For Each rng In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants, 23)
  ptr = InStr(rng.Value, tStr)
  If ptr > 0 Then
   rng.Characters(Start:=ptr, Length:=Len(tStr)).Font.ColorIndex = 3
  End If
 Next rng
End Sub
    • good
    • 14
この回答へのお礼

説明不足でした。「XXXXABC12334」という文字列の中で「ABC」の部分だけを赤にしたい。が質問の主旨でした。貴ご回答のマクロを実行したところ解決しました。
ありがとうございました。

お礼日時:2007/02/21 09:51

条件付き書式で大丈夫なはずですが



たとえばjkvhukdfhkABChjdskhf
みたいな状況になっているセルを条件付き書式で色塗りするのは
出来ないと思うので、もしそうなっている場合は別な列(たとえばB1)を用意し
=IF(COUNTIF(A1,"*ABC*"),"○","×")という式で
データの下までB1をオートフィル。
次にB列にオートフィルタをかけて○を抜き出した状態でA列塗りつぶし。

こんなところでしょうか。
    • good
    • 0
この回答へのお礼

zap35さんのご回答で解決しました。
ありがとうございました。

お礼日時:2007/02/21 09:54

条件付書式でA1が"ABC"だったら赤と設定し、条件付書式をコピーします。

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

zap35さんのご回答で解決しました。
ありがとうございました。

お礼日時:2007/02/21 09:54

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで特定文字列に色をつけたいです。

表中の特定の文字列(例「日本」)に色をつけて表示するようにしたいのですが、ひとつひとつ手で変えていくしかないのでしょうか。
よろしくお願いします。

Aベストアンサー

vba処理です

Sub test()
Dim rng As Range, r As Range, i As Long, colInd As Integer
With ActiveSheet
Set rng = .Range("a1:z100") '範囲の設定
txt = "日本" '文字の設定
colInd = 3 '色の設定
For Each r In rng
If InStr(r, txt) > 0 Then _
r.Characters(InStr(r, txt), Len(txt)) _
.Font.ColorIndex = colInd
Next
End With
End Sub

QExcel 特定の文字色だけを変更したい

Excel2000を使っています。

ある表を作成中、フォントを青文字と赤文字でリストを作っていました。
が、複数人数で作業をしていた為、フォントの「青文字」が「青」と「薄い青」で作成されてしまいました。

ところどころに「赤」のフォントもあります。
同じセル内での文字色は1色です。

リストの量が多いため、ひとつひとつセルをクリックして「薄い青」を「青」にしていくのが難儀です・・・
「薄い青」を「青」にどうにか簡単に変更できないものでしょうか?

と、この説明で伝わるでしょうか・・・。
知恵を貸して頂けたら、と思います。よろしくお願いします。

Aベストアンサー

>同じセル内での文字色は1色です。
ならまだ簡単です。以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて下さい。マクロの実行はALT+F8でマクロ一覧を開き、マクロ名を選択して「実行」ボタンです。

Sub Macro2()
Dim r As Range
For Each r In Cells.SpecialCells(xlCellTypeConstants, 3)
  If r.Font.ColorIndex = 41 Then
    r.Font.ColorIndex = 5
  End If
Next r
End Sub

QEXCEL VBA で特定の文字に色をつけるマクロを書きたいのですが

コードはどのように書けばよいのでしょうか?

(1)そのようなコードを持っていらっしゃったらいただけないでしょうか?

(2)または、参考になるページがありましたら教えていただけないでしょうか?

現在勉強を始めたところですが、よろしくお願いいたします。

Aベストアンサー

セルの文字列の中に,
たとえば
aaaeeessseee
ssddd
dfg
weeeff
のセルの中の
eeeに赤色文字にする。
セル範囲Range("A1:C6")を対象にしてます。
ーーーー
Sub test01()
Dim cl As Range
For Each cl In Range("a1:c6")
r = InStr(cl, "eee")
If r <> 0 Then
cl.Characters(r, 3).Font.Color = vbRed
End If
Next
End Sub

QExcel セル内の特定の文字だけ自動で色を変えたい

3月13日(土)

と一つのセルにと入れた場合、土曜のときは「土」だけ青、日曜のときは「日」だけ赤というような設定はできますか?
条件書式だとセル内のすべての文字の色が変わってしまいますよね。
VBAを使わず、条件書式のような設定だけで行う方法はないでしょうか?

Excelのバージョンは2003と2007で考えています。

Aベストアンサー

残念ながら、セルに入力した一部のフォント色を自動的に変更するようなことはできません。

Qエクセルで条件により文字色を変える関数教えて下さい

エクセル2003を使っています。
セルa1に下限値,a2に上限値を入力、c3にデータを入力します。
入力したデータがa1下限値,a2上限値の範囲内であればデータの文字色はそのままで、その範囲を超えるとデータの文字色が「赤」に変わる数式を教えて下さい。よろしくお願いします。

Aベストアンサー

C1セルを選択し、次の方法で如何でしょうか。
(1)書式→条件付き書式
(2)条件を「セルの値が」、「次の値の間以外」、「=A1」、「=B1」で設定
(3)書式→フォントタブの色リストで赤を選択→OK
(参考)下行も同様にしたい場合、C1セル下方向にコピーして下さい。

QExcelで数式内の文字色を一部だけ変更したい

数式内の文字列の色を一部だけ変更したいのですが、どなたかご存知の方ご教授ください。

セルごと文字色を変更することは可能なのですが一部だけの変更ができません。

下記、例をあげます。
数式:="No"&A10&"を参照"
表示:No10を参照

上記のNo10の文字色を赤等に変更するにはどうしたらよろしいでしょうか。

Aベストアンサー

数式:="No"&A10&"を参照"
は一種の文字を結合する関数です。
私はいつも言っているのだが、関数(数式)は「値」だけを計算や加工したりするものです。元のセルの書式属性は引き継げません。
したがって「No}をセルに入れて、「赤色」に設定しても、あるセルの「10」の文字を赤くして、参照しても、文字の赤色属性は移りません。
ただあるセルの文字列の一部をの色を変えるのは、VBAで簡単にできます。
Sub test01()
For i = 1 To 5
s = 1
e = 2 + Len(Cells(i, "D"))
Cells(i, "G").Characters(s, e).Font.ColorIndex = 3
Next i
End Sub
D列にNoの数があるものとします。
G列に関数を入れているとします。
うまくいかなければ、G列をコピーし、値貼り付けして実行してみてください。

Qエクセルで特定の文字(複数あり)をハイライトしたい

エクセルで、一定の範囲(D2:D900)にある特定の文字だけをハイライト(青)に変えたいのですが、
可能でしょうか?

特定の文字は5つほどあります。
・従業員
・人手
・人
・女
・スタッフ

よろしくお願いいたします!

Aベストアンサー

文字列だけとなるとマクロ(VBA)ですね。
一例です。
対象シートのシートタブ上で右クリック→コードの表示→サンプルコード貼り付け→シート上でAlt+F8キー押下、sample実行

Sub sample()
Dim re, mc, m, r As Range, endp As String
Set re = CreateObject("VBScript.RegExp")
re.Global = True
re.Pattern = "従業員|人手|人|女|スタッフ"
Set r = Range("D2:D900").Find("*")
If r Is Nothing Then End
endp = r.Address
Do
Set mc = re.Execute(r)
For Each m In mc
r.Characters _
(m.FirstIndex + 1, m.Length).Font.ColorIndex = 8
Next
Set r = Range("d2:d900").FindNext(r)
Loop Until r.Address = endp
Set re = Nothing
End Sub

文字列だけとなるとマクロ(VBA)ですね。
一例です。
対象シートのシートタブ上で右クリック→コードの表示→サンプルコード貼り付け→シート上でAlt+F8キー押下、sample実行

Sub sample()
Dim re, mc, m, r As Range, endp As String
Set re = CreateObject("VBScript.RegExp")
re.Global = True
re.Pattern = "従業員|人手|人|女|スタッフ"
Set r = Range("D2:D900").Find("*")
If r Is Nothing Then End
endp = r.Address
Do
Set mc = re.Execute(r)
For Each m In mc
r.Characters _
(m.FirstIndex + 1...続きを読む

Qエクセル 特定の文字を入れると他のセルの色が変わる

例えばセルA1に[りんご]と入力したらB2からB5までの文字の色が赤に変わる・・・などということは、関数や書式の設定なので出来るのでしょうか?
おわかりの方教えてくださーい!

Aベストアンサー

B2からB5のセルを選択し
書式メニューの条件付書式設定を選択し
数式が
=$A$1="りんご"
と入力し、書式で色を赤に変更してください。

Qエクセルでの指定文字 カウントについて

エクセルで並んだデータでの指定した名前だけの個数をカウントするにはどうすればいいのでしょうか?

山田 高橋 佐藤
高橋 梅田 赤田
 西 山田 梅田
佐藤 山田 梅田

名前が並んだデータで「高橋」という名前が何個あるのかをカウントしたいのですがどうすればいいのでしょうか?

Aベストアンサー

 データは入力されているセルの範囲を「A1:C4」とすれば、

=COUNTIF(A1:C4,"高橋")

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング