• 締切済み

EXCELのデータ修正時に、その部分だけ文字色を変える

ご享受お願いいたします。 すでにデータが入力してあるファイル(行・列複数)において、任意のセルのデータを上書きで変えようとしています。 既存の書式は文字色=黒ですが、今から上書きするセルは入力・確定する毎に、「文字色=赤」にすることは可能でしょうか。つまり、入力終了後にはどこのセルを書き換えたか、わかるようにしたいのです。 ちなみに空き列に「データ修正を示す区分」などを入れ、条件付書式を利用する・・・などの方法は使わないとした場合です。私の知識では思いつきませんでした。 よろしくお願いいたします。

みんなの回答

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

・下記方法を思いついたのですが、使えますでしょうか。 ・変更をチェックする列(行)が少数なら、それらの列を 使わない列(行)へ複写します。 ・そして複写元のセルと複写先のセル間に書式-条件つきの書式を設定します。 (1)コピー元の最上行(左列)のセルに書式-条件つきの書式-セルの値が-次の値に等しくない-コピー先のセルを指定する。右のボックスでセルの絶対番地を相対番地に直す(注1)-書式-(書式を設定する)-OK (2)上記セルをコピーし、コピー元の以下の行(列)のデータ部を全部範囲指定して、形式を選択して複写-書式で書式を複写する。コピー元の値を変えると、文字色が赤(例)になります。 (注1)ここがポイント。むしろコピー先の相対番地($の付いてない番地)をキーボードから入力すると良い。ここを相対番地にしておかないと、後でやる書式の複写が実効性がなくなる。

aiai40
質問者

お礼

なるほど!こういうアイディアもありましたね! VBAを使用しないと解決方法はないかと思っていました。 今回は2000件ほどのデータを扱うのですが、ご提案の方法も可能だと思います。 ありがとうございました。 今回は皆さんの柔軟な思考力を改めて学びました。 ありがとうございました。

回答No.4

こんばんわ。初めまして。VBAですが、サンプルマクロを組んでみました。この方法は、ブックが開いていればそのブックに含まれているシートに瞬時に動作します。以下のように操作して下さい。 1.データの入っているブックを立ち上げ、ALT+F11キーを押してVBE画面を表示させ、画面左上のVBAProjectと書かれている上にマウスポインターを合わせて右クリック後、挿入→クラスモジュールを順にクリックし、表示された右側の白い部分に下記のコードをコピー&ペーストする。 Public WithEvents App As Application Private Sub App_SheetChange(ByVal Sh As Object, ByVal Target As Range) Target.Font.ColorIndex = 3 End Sub 2.次に画面左上のVBAProjectと書かれている下のThisWorkbookをダブルクリックし、表示された右側の白い部分に下記のコードをコピー&ペーストする。 Dim myClass As New Class1 Private Sub Workbook_Open() Set myClass.App = Application End Sub 3.保存してブックを終了し、再度立ち上げる。 データを変更してみて下さい。変更されたデータが赤色で表示されると思います。 ご不明な点・不具合等がありましたら、ご遠慮なくお知らせ下さい。

aiai40
質問者

お礼

作っていただいたマクロを見ると、とてもあっさりしていますが、作業効果は大ですね。 これをきっかけに、もっと勉強しようと思います。 細かいご指導ありがとうございました。

  • mixjuice
  • ベストアンサー率14% (8/54)
回答No.3

こんばんは >つまり、入力終了後にはどこのセルを書き換えたか、わかるようにしたいのです。 =であれば、色が変わらなくてもいいのかなと思いましたが 以下のようなのはどうでしょう。 「ツール」から「変更履歴の記録」→「変更履歴の確認」で「編集中に変更箇所を記録する」としておけば、変更箇所に「コメントがあるよ」という左上に青色の三角が出ます。そこをポイントするとコメントで「○○から○○にかわりましたよ」と出ます。 これはネットワークでブックの共有のときに使いますが、個人でやっても表示されますので試しにやってみてください。

aiai40
質問者

お礼

やってみました。 こんなふうに使うんですね!。知りませんでした。 他のデータ管理にも使いたいと思います。 とても参考になりました。 ありがとうございました。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.2

あ、以下の例は、セルの色が変わっちゃいます。 文字の色は、こうです。 Target.Font.ColorIndex = 3

aiai40
質問者

お礼

VBA、本格的に勉強してみようかな。 ありがとうございました。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

Private Sub Worksheet_Change(ByVal Target As Range) Target.Interior.ColorIndex = 3 End Sub 以上のようなVBAを使用してみては、どうでしょうか?

aiai40
質問者

お礼

やはりVBAを使いこなせると、EXCELを更に効率的に使えるんですね。 参考になりました。 ご回答、ありがとうございました。

関連するQ&A

  • エクセル 条件付書式について

    エクセルの条件付書式について、お尋ねします。 A1のセルには、背景と同じ色で文字が入力されていて、そこに文字を上書きすると、A1のセルの文字の色が黒に変更されるようにしました。 その後B1のセルに文字を入力すると、A1からE1までのセルの背景がグレーになるようにしたかったのですが、A1のセルだけが、塗りつぶされませんでした。 説明が十分かどうかわからないのですが、質問としては、このようなことが、条件付書式で可能かどうか、可能ならば、その方法を教えていただけますでしょうか。 どうぞよろしくお願いいたします。

  • エクセルで入力時データを重複を避けるには

    エクセルでB列にデータ(単語)を入力します  例えば B2のセルから データを入力してゆき  常に 上のセルと比較して 重複データなら入力しなくて良い方法はありますか (何らかの 警告が出るとか セルに色が付くなど)  すでに 条件付書式で重複しているデータを検索できましたが(以前お世話になり) 今回は 入力時に 重複させない方法が知りたいのですが 宜しくお願いします  

  • Excelで長い文字列の入力について

    PCはWinXPです。Excelでセルを越える文字列が隣のセルに入力されたデータに隠されて、データが途中までしか表示されないことがあります。このような場合書式をイメージしてセル結合して入力してますがこの方法で正しいのでしょうか?途中でイメージ作業が必要になり修正も要する事もありもっといい方法があると思うのですが、よろしくご教示下さい。

  • EXCELの日付データを文字列に変換したい

    EXCELの和暦形式の日付データを文字列に変換する方法を教えてください。 たとえば、H17.9.2をそのまま文字列に変換したいのです。 最初から文字列データとして入力すれば問題ないのですが、日付データ(標準)として入力されたデータを書式→セル→文字列で変換するとシリアル値に変わってしまいます。(H17.9.2→38597) どうしたらよいのでしょうか。お願いします。

  • 追加入力の文字だけ色を変えたい(エクセル)

    エクセル2000、OS:WinXPpro 既存シートにセル(行)を挿入してデータを追加します。元のデータ(例えば黒)と区別するために文字色を変えて(例えば青)入力したいのです。 挿入する行の「セル書式で文字色を設定する」以外で、 新規に「入力する文字の色を指定する」方法はないでしょうか? 検索しましたが探しきれません。 「自信あり:エクセルでは出来ない」という回答でも結構です。

  • EXCEL 文字の入ったセルを選択して修正したい

    EXCELで、すでに文字を入力して確定したセルにもう一度戻って内容を修正したいのですが、普通にカーソルを合わせて文字を打つと自動的に上書きされてしまいます。 これを選択して上書きせずに編集できる状態にすることは出来ますか? いちいちマウスに持ち替えねばならず非常に面倒です。

  • EXCELで大文字入力

    こんにちは。 EXCELで任意の列を常に大文字で入力するにはどうしたら良いでしょうか? 既存のデータを変換するのではなく、入力の際にCAPSLOCKを押す手間を省ければ…と思います。 何か良い方法があれば教えて下さい。

  • エクセルの条件付書式の設定にて

    エクセルの条件付書式の設定にて条件に合う時に、 セルの塗りつぶしをしています。 合わせて、任意の文字列を設定することはできますか?

  • エクセルで特定の文字の色を変える

    エクセルで特定の文字の色を変える エクセルで出納帳を作っています。 D列が摘要なのですが、摘要の文字の中に 「手形」という文字が含まれていたら 文字の色を赤にしたいのですが、 セルには「手形」だけでなく 「手形○月○日」「○○会社 手形」等 いろいろな文字が含まれています。 条件付書式を試したのですが、わかりませんでした。 出来るのでしょうか?教えてください。

  • エクセル条件付書式。特定の文字列を抽出

    今回やりたいことは下記のとおりです。 SHEET1のC列に任意の文字列を入力したとき、 もし、SHEET2のA1からA12までに入力された文字列のうちひとつでも該当するものがあれば、色を変化させる、という条件付書式を作りたいのですが、 この場合どうしたらよいのでしょうか。 もしいい案があればどうぞお願いいたします。