[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『数値を変更したセルの色を変える方法』(yyy)
いつも勉強させて頂いております。
表題の件ですが、まず下記に紹介されている方法で、
http://oshiete.goo.ne.jp/qa/402415.html
変更するセルの範囲をブック全体だけではなく、特定のシートだけにするにはどうしたらよいでしょうか。
さらにその上で、特定のシートの特定の範囲についてセルの数値が変更されれば、色を変えるにはどうしたらよいでしょうか。
可能であれば、その特定の範囲をエクセルファイルの利用者が簡単に変更できればと考えております。
VBAをほとんど勉強できていないのにご質問してしまい恐縮ですが、
良い方法をご存知でしたら教えて頂けると幸いです。
どうぞよろしくお願い致します。
< 使用 Excel:Excel2007、使用 OS:Windows7 >
>当初は >元の値をどこかにコピーしておき、その元の数値が変更されれば >条件付き書式で色を変える方法を考えていたものの、 >それだと煩わしいと言われてしまい、困っております。
しごく常識的な対応だと思うのですけど、具体的に何が煩わしいのですか? 頭で念じるだけでは、何も起せないですよ。
希望するチェック範囲をドラッグ選択してから右クリックすると、 ショートカットメニューに「チェック範囲設定」とかの選択肢が出て来て、 そこをクリックすると自動的に ・その範囲の値が、どこか無害なエリアに転記される(作業用シートがいいかも知れません) ・元範囲のセルには、転記先の値と違ったら赤く色が付くように条件付き書式が設定される
再度、ユーザーが、別のチェック範囲をドラッグ選択して 右クリック→「チェック範囲設定」を選択すると 一回目の設定が取消され、新しい範囲に対応できるようにする。
てな仕掛けにすればいいんじゃないですか?
※範囲の変更内容によっては、それ以前に付いていた色が消えて困るなんて 事態が発生するかも知れないです。 それが困るとすると、条件付き書式じゃなく、普通に色を付けた方が いいかも知れないですね。
まぁ、仕様の詳細が分からないので、これ以上の空想はやってられないです。
(半平太) 2015/07/29(水) 15:05
教えて頂いた内容をもとに試行錯誤してみます。
具体的な質問でなく、申し訳ございません。
(yyy) 2015/07/30(木) 18:33
>変更するセルの範囲をブック全体だけではなく、特定のシートだけにするにはどうしたらよいでしょうか。
(1)
Workbookベースのイベントプロシージャではなく、
ワークシートのイベントプロシージャを使ってはどうですか?
例えば、下記を参照
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_event.html
もしくは、
(2)
示されているコードで、
引数の Sh はイベントがおきたシートobjectを示しますから、
If sh.Name <> "特定のシート名をここに" Then Exit Sub
とします。
前者(1)のほうが無駄にイベントプロシージャが立ち上がらない分だけ
良いかも知れません。
# ただ、仕様そのものが有用かどうかは保証の限りではありません。
# 文字列を消去して、元に戻す場合にも色がついてしまう。これでよいのか。
(γ) 2015/07/30(木) 21:06
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.