プロが教えるわが家の防犯対策術!

ご享受お願いいたします。

すでにデータが入力してあるファイル(行・列複数)において、任意のセルのデータを上書きで変えようとしています。

既存の書式は文字色=黒ですが、今から上書きするセルは入力・確定する毎に、「文字色=赤」にすることは可能でしょうか。つまり、入力終了後にはどこのセルを書き換えたか、わかるようにしたいのです。

ちなみに空き列に「データ修正を示す区分」などを入れ、条件付書式を利用する・・・などの方法は使わないとした場合です。私の知識では思いつきませんでした。
よろしくお願いいたします。

A 回答 (5件)

・下記方法を思いついたのですが、使えますでしょうか。


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

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

今回は皆さんの柔軟な思考力を改めて学びました。
ありがとうございました。

お礼日時:2002/11/12 20:34

こんばんわ。

初めまして。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.保存してブックを終了し、再度立ち上げる。

データを変更してみて下さい。変更されたデータが赤色で表示されると思います。

ご不明な点・不具合等がありましたら、ご遠慮なくお知らせ下さい。
    • good
    • 2
この回答へのお礼

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

お礼日時:2002/11/12 20:26

こんばんは



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

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

お礼日時:2002/11/12 20:22

あ、以下の例は、セルの色が変わっちゃいます。



文字の色は、こうです。
Target.Font.ColorIndex = 3
    • good
    • 2
この回答へのお礼

VBA、本格的に勉強してみようかな。

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

お礼日時:2002/11/12 20:13

Private Sub Worksheet_Change(ByVal Target As Range)


Target.Interior.ColorIndex = 3
End Sub

以上のようなVBAを使用してみては、どうでしょうか?
    • good
    • 1
この回答へのお礼

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

お礼日時:2002/11/12 20:09

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

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