• 締切済み

VBAでデフォルトの入力文字色を変更する

普段、Excelで文字入力する時は黒がデフォルトの入力文字色です。 これをマクロで簡単に色変更を行う事は出来るのでしょうか? イメージとしては 1・デフォルト入力文字色「黒」 2・マクロ実行  →デフォルト入力文字色「赤」になる 3・任意のセルに文字を入力する  →入力文字色が「赤」になっている

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

「デフォルト」などの語句を使っていながら、質問の表現が明確でない。 「デフォルトの語句」はセルの文字列なのか、セルの値の文字列の一部なのか。 またデフォルトの語句は1つなのか複数あるのか。 そういうことを書いてない。 そういうレベルでは、この質問のVBAコードを作るのは難しかろう。 丸投げで、回答をコピペしたいということになってしまう。丸投げはしてはいけないことになっているはず。 ーー 入力後にまとめて色を変更するで良いなら、 エクセルの置換操作で(置換前と置換後を同じデフォルト語句とし)置換後の書式でもじれつフォント色などを指定してマクロの記録を採ってみたら。 ただセルの文字列全体が色変わりする。 もしデフォルト文字部分だけにしたいなら、 (1)デフォルト語句で検索(ワイルドカード(*つき)で検索)ー>マクロの記録で勉強 (2)デフォルト語句が出現するセルがわかったところで,INSTR関数でデフォルト語句の先頭位置を求める。そこからデフォルト文字列の文字長について (3)Charactersオブジェクトを使う。 http://www.big.or.jp/~seto/vbaref/vbaref3.htmなど、Googleで 「エクセル characters」で照会のこと。 (4)ただしFindメソッドは第2回目以後の繰り返し検索FindNext の使い方が初心者には難しい。しかしWEBには記事が沢山出ているから まねすれば良いといえる。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 シートモジュールに貼り付けてください。 '------------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range)   If Len(Target.Cells(1).Value) > 0 Then     Target.Font.ColorIndex = 3   Else     Target.Font.ColorIndex = xlAutomatic   End If End Sub 細かい条件があるのかもしれませんが、出だしとしては、このぐらいにしておきます。 Target.Cells(1).Value にあるように、貼り付けの場合は、1つのセルしか色がつきません。 それから、後、色を元に戻すときがあるはずだと思います。 ThisWorkbook モジュールに貼り付けます。 '------------------------------------------- Private Sub Workbook_BeforeClose(Cancel As Boolean)  Worksheets("Sheet1").UsedRange.Font.ColorIndex = xlAutomatic End Sub たとえば、このようにすればどうかと思います。 注:セルの中に、エラー値があると、マクロがとまってしまいます。そういう可能性がある場合は、これらのマクロの上と下に、 On Error Resume Next 'マクロコード On Error Goto 0 ではさんであげれば、マクロは止まりません。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

Cells.Select Selection.Font.ColorIndex = 3 でいかがですか

mokusasa
質問者

お礼

ご回答ありがとうございます。 説明不足でした。 「既に入力しているセルや文字に影響を与えずに、マクロ実行後のデフォルトの文字入力色を「赤(任意の色)」にする方法が知りたいです。 kmetuさんの方法ですと、既に入力している文字色まで「赤」になってしまいますので、求めているものとは違いました。申し訳ございません。

関連するQ&A

  • excel で入力する文字色を 赤にしたい

    お世話になります。 excel2010を使用しています。 入力したときのデフォルトの文字色が黒なのですが、 これを赤にしたいのです。 現在は、毎回、 (1)黒で入力 (2)文字色を赤に変更 を繰り返していますが (1)の段階で赤にしたいのです。 新規に入力するセルを、(1)の段階から赤にできるか? →できるので、あればその方法を 既に入力されているセルの末尾に、文字を追加した場合(1)の段階から 赤にできるか? →できるので、あればその方法を の2点を教えて頂けないでしょうか? ご知識あるかた 何卒よろしくお願い致します。

  • メールソフトThunderbirdで、入力文字色を変更する方法は?

    メールソフトThunderbirdで、入力文字色を変更する方法は? デフォルトは黒ですが、これを常時他の色(青、赤など任意の色)で入力できるように設定したいです。 今は、既存の青文字の所にカーソルを持って行き、そこに文字を挿入しようとすると自動で青になり、赤のところでは赤になりますが、どこで文字を入力しようとも、常に指定した色をキープしたいのですが、このように設定できるでしょうか?

  • データを入力すると特定の文字等を返す方法について

    いつも相談に答えていただきありがとうございます。 今回は、 エクセルで、特定のセルに数字を入力をした場合、同じシートの別のセルに文字等を返す方法についてご教示ください。 例) sheet1の「A1セル」に日付を入力すると「B1セル」に文字を返しその「Bセル」に色をつける。       「2/17」     →      「○」を付けそのセルの色を「赤」にする。 エクセルのマクロ処理ではなく、簡単な計算式で対応できないでしょうか。 もし、セルに色を付けるのが困難な場合は「○」表示だけでも付けたいと考えています。宜しくご教示ほどお願いします。

  • 【エクセルVBA】セルの数式種別により文字色変更

    おわかりになる方がいらっしゃいましたらご教示願えませんでしょうか。 今手元にあるエクセルにつき、文字色を一定のルールで変えたいと思っています。 1.シート内参照をしている数式が入っているセルは黒色 2.シート外(別シート)参照している・・・・・・・・・・・・・ 緑色 3.直接入力している・・・・・・・・・・・・・・・・・・・・・・・・・青色 ただし、文字色を変えたくない部分もあるので、セル選択した後に選択したセルに対してのみ 上記の処理をしたいと考えております。 もし御存じの方、若しくはどのようなマクロでできるのかを分かる方がいらっしゃいましたらご教示 願えませんでしょうか。 お忙しい中恐縮ですが、何卒宜しくお願い申し上げます。

  • エクセルで、入力された文字を検索して表示

    よろしくお願いします。 例えば、 「B1~H1 セルのどれかに任意の文字を入力すると、A1セルに同じ文字を表示する」 というようなことをエクセル関数を使って実現可能でしょうか。 VBマクロは使えないものとします。

  • セル内に入力した文の一部の文字色を変えるには

    セル内に入力した文の一部の文字色を変えるにはどうすればいいのですか? エクセル2007です。 例えば、一つのセルに 上の表・グラフの赤色の点線部分が要注意です。 と入力されています。このとき「赤色の点線」の部分を赤色で表示・印刷したいのです。 エクセル2000ではできたようにも記憶しているのですが、 エクセル2007ではどのようにすればいいのでしょうか? よろしくお願いします。

  • Excel2003でセル内の文字色を変更しても表示が変わらない

    DELL Dimension 8300でExcel2003を使っていますが、あるセルに書かれた文字色を通常の黒色から赤色に変更しても表示は変化しません。しかし、そのセルをアクティブにすると変更されています。又、それを印刷すれば、変更後の赤色で印刷されます。表示が変更した色になる様にするには、どのようにすれば良いのか教えて下さい。

  • 入力した数字の対応セル背景色を変更する方法

    初めて質問させて頂きます。 過去の質問を調べましたが同じ内容のものが見つからず質問させて頂きます。 (同じ質問がありましたら申し訳ございません) エクセルで背景色を変えるものなのですが、 入力した数字により、指定範囲のセルの背景色を変更したいのです。 何色でもいいのですが、例えば赤に変更したいのです。 A1~BH1まで全て数字が入力されているので、背景色ではなく文字の色を赤でも構いません。       A   ・・・     J          K    ・・・     BH 1 1~50を入力   1~50を入力  1ならここのセル  50ならここのセル 数字を入力するセルは10個あり(A~Jまで)、そこにそれぞれ1~50までのどれかを入力すると それ以降のセルの50個(K=1,L=2,M=3,N=4,O=5,P=6・・・BH=50)の背景または文字色が変わるようにしたいのです。 うまく伝わっているかどうか不安なので、例を書きます。 A1=5 B1=7 C1=8 D1=10 E1=15 F=20 G=25 E=35 F=45 G=50 と入力すると、 O1 Q1 R1 T1 Y1 AD1 AI1 AS1 BC1 BH1 が背景又は文字色が赤になる。 ・・・ということです。 ちなみにこれは1行だけではなく1000行まであります。 マクロでも大丈夫ですが、 文法とかよくわからないのでそのまま使用出来るように書いて頂けると助かります。 (コピペで何度か使ったことはあります) 書き忘れましたが、当方のエクセルは2003,2007と両方持っています。 普段は2007を使用しております。 長くなってしまいましたが、どなたか宜しくお願い致します。

  • EXCEL VBA の記述で文字を大きくしたい

    いつもお世話になっております。 EXCEL VBA でマクロを記述した中で、 1行だけ文字を大きく(太字でもOK)する事はできますか? (変更したらすぐにわかるように) それと通常、記述文字の色は黒で、コメントは、緑です。 他に色はないですか? よろしくお願いいたします。

  • Excelでデフォルトのフォントの色を変更するには?

    Excel2000を使っています。 ツールバーボタンの「フォントの色」(”A”の文字の下線の色)の色がいつも赤なので使い勝手を良くするためにツールバーのツール>オプション>色>標準の色>黒色>変更で色を変更しました。 ところが後日Excelを起動してみるとフォントの色が赤に戻ってました・・・(ーー;) デフォルトのフォントの色を変更するにはどうしたらいいのでしょうか? よろしくお願いします。

専門家に質問してみよう