[[20080606105129]] 『セルに入力すると文字の色を変える』(よーこ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『セルに入力すると文字の色を変える』(よーこ)

          A          B          C          D          E            F
1    番号    名前    住所   電話番号   ・・・   ・・・・    
2   12345  Aさん   東京都・・・ 0312345678・・・・・
3          Bさん   東京都・・・ 0323456788・・・・・
4   23456  Cさん        
5   98765  Dさん   大阪府・・・ 0666664444・・・・・
6          Eさん      
7          Fさん   千葉県・・・ 0478901234・・・・   
8
9

VBAの超初心者です。

上記の様に表があるとします。

空白のセルに新しく入力や、訂正したいときに文字の色が変わる方法を教えてください。

お願いします。


 たぶん、今回入力分のみをチェックしたいということですよね?
 マクロ記録とかで↓こんなの作りました。

 Sub Macro1()
  Dim lastcell As Range
    '使われた最後のセルを取得
    ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Select
    '空白セルを選択
    Selection.SpecialCells(xlCellTypeBlanks).Select
    '赤をつける
    Selection.Font.ColorIndex = 3
  On Error Resume Next
 End Sub

 後はファイルオープンの時とクローズの時に
 実行するように動かしたらいい気がするけど...
                                                       (Pote)

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

マクロ記録でやると、毎回ファイルを開くたびに実行する様に動かさないといけないじゃないですか〜。

それと、マクロとか全く知らない人もファイルを使ったりするので、

ファイルを開くと、空白のセルに入力する時は赤色で、修正上書きしたときも黒から赤に変わるようにしたいんです。

何回開いても常に加筆したときに、赤色になるようにするにはどうすれば・・・・。

わがまま言ってすみません・・・・・。



該当のシートに貼り付けたら動きました。

    Private Sub Worksheet_Change(ByVal Target As Range)
        Application.EnableEvents = False
        Target.Font.ColorIndex = 3
       Application.EnableEvents = True
     End Sub

                      (Pote)


 > 空白のセルに新しく入力や、訂正したいときに文字の色が変わる方法を教えてください。
 ですよね?

 Private Sub Worksheet_Change(ByVal Target As Range)
 Dim temp
 With Target
     If .Count > 1 Then Exit Sub
     .Interior.ColorIndex = xlNone
     If IsEmpty(.Value) Then Exit Sub
     Application.EnableEvents = False
     temp = .Value
     Application.Undo
     If temp <> .Value Then
         .Interior.Color = vbRed
         .Value = temp
     End If
 End With
 Application.EnableEvents = True
 End Sub
 (seiya)

 ???疑問
>何回開いても常に加筆したときに、赤色になるようにする
いつ加筆されたかわからなくても
  (加筆)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.