[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『薄い文字の上から文字入力』(梨おいしい)
おしえてください^_^
インターネットでよくみる、「ここに入力してください」の薄い文字が、実際に入力しようとすると、薄い文字から黒に変わるという文字入力をしたいです。
ネットにていろいろ検索して試してみたのですが、
エラーは出ないものの、思うように作動しません
したいこと1
・デフォルトで、薄い文字色で入れたいのは
ここに入力してくださいの文字ではなく、 あらかじめ、いろんなセルに薄い色で数値(小数点などを含むもの)が入っていて その数字の上に、新たな数字を黒で入力したい
→前回の計測結果の数値はこうでしたが、(薄い文字色)
今回入力する計測結果も、薄い文字色の部分と同じ項目を計測してくださいねの意味と、前回の計測結果と比べて数値が大きく変わってないかを見る意味があります。
したいこと2
入力時メッセージのようにセルを選択した時に表示されるのではなく、
セルを選択されていない状態、かつ、文字列が入力されていないときには
常時薄い文字を表示していたい
したいこと3
セルの薄い文字は色んなところに飛び飛びで入っており、
A1からAA300までの中で、かつ、薄い文字(灰色)のとこれだけに、
作動するvbaコードが知りたい
上手く動かなかったコードは以下になります
< 使用 Excel:Excel2010、使用 OS:Windows7 >
マクロの問題は、対象セルのどこかに1文字でも入力すると、対象範囲全部の文字を消してしまう事ですかねぇ? 空欄にすると全部メッセージになるし。 Targetだけ変更しましょう。
(???) 2018/11/20(火) 09:23
ちょっと試してみました。
前回の値を別シートに残しておくとして
値が前回の値と同じでも別に問題がないので黒にしたいのですが
そうすると前の値と比較して同じでも差分がいくつでも
新たに入力されれば黒になるという条件設定が思いつきません。
前回と比べて差分がいくつ以上だとダメなどそういうのはもうけず
入力があれば黒にするというのはやはりマクロでなければ難しいのでしょうか
>マクロの問題は、対象セルのどこかに1文字でも入力すると、対象範囲全部の文字を消してしまう事ですかねぇ? 空欄にすると全部メッセージになるし。 Targetだけ変更しましょう。
マクロでやるとしたら、Targetだけ変更しましょうとのことですが
どのようにコードを修正したらよいですか
(梨おいしい) 2018/11/20(火) 09:57
そして、直すと丸ごと新規作成になってしまうので、まずはご自身で考えてみてください。 入力は1セルずつですか?、それともコピペや値ドラッグ等で一気に書き換える事はありますか? 1セルずつなら、Targetのプロパティを直接操作するだけですよ。
(???) 2018/11/20(火) 10:17
灰色で始まって、同じなら黒、違えば若干違う黒(ほぼ見分けがつかない黒)
にしようと思います。
条件付き書式でのご回答大変ためになりました。
ありがとうございました。
(梨おいしい) 2018/11/20(火) 11:11
Private Sub Worksheet_Change(ByVal Target As Range) Dim wk As Worksheet Dim R As Range Dim R1 As Range
Set R = Intersect(Target, Range("A1:AA300")) If R Is Nothing Then Exit Sub
Application.ScreenUpdating = False Application.EnableEvents = False
Set wk = Sheets("Sheet2") For Each R1 In R If IsError(R1) = False Then If R1.Value = "" Then R1.Value = wk.Range(R1.Address).Value R1.Font.Color = RGB(192, 192, 192) Else If IsError(wk.Range(R1.Address)) = False Then If R1.Value = wk.Range(R1.Address).Value Then R1.Font.Color = RGB(0, 0, 0) Else R1.Font.Color = RGB(255, 0, 0) End If Else R1.Font.Color = RGB(255, 0, 192) End If End If Else R1.Font.Color = RGB(255, 0, 192) End If Next R1
Application.EnableEvents = True Application.ScreenUpdating = True End Sub (???) 2018/11/20(火) 17:39
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.