[[20080620113600]] 『条件付き書式?』(イルマ) ページの最後に飛ぶ

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

 

『条件付き書式?』(イルマ)
 K4に基準となる数字が入力されます。
 B14〜AD14までに「工」と
 入力されている数がK4の数と
 違う場合は、すべての「工」の字の
 色を変えたいと思います。
 又、B15〜・・・と
 下にかなり続きます。
 Sheetによっては、AC14までだったり
 するので、ここを変えれば大丈夫みたいなのも
 教えて頂けませんでしょうか?
 (イルマ)


 K4とAE4の関係は???(ROUGE)

 ROUGEさん、ごめんなさい
 打ち間違えました
 AE4はK4のことです。
 直します。
 (イルマ)

 =COUNTIF($B14:$AD14,"工")=$K$4

 とすればよいと思います。
 (ROUGE)

 ROUGEさん、ありがとうございます。
 うまくいきません。
 条件付き書式で登録しても
 他のセルをクリックすると、
 条件付き書式の登録が解除される
 感じです。
 (イルマ)

 >登録が解除される感じ
 と言うのは、具体的にはどの様になるのですか?

 $B14:$AD14を選択して
 ROUGEさんが書いて居られるように設定をすると
 その時は、「工」に色が付くが
 別のセルを選択すると、
 $B14:$AD14に付いていた色が消えてしまうのでしょうか?

 念のため、ライブラリより「条件付き書式」
http://www.excel.studio-kazu.jp/lib/e2qw/e2qw.html

 (HANA)

 >別のセルを選択すると、
 >$B14:$AD14に付いていた色が消えてしまうのでしょうか?

 そうです。しかも、設定したはずなのに
 もう一度、条件付き書式を見ると、
 何も設定してないように
 なっております。
 (イルマ)

 設定をして「 OK 」を押した直後
(何もしない状態)では、確かに色が付いているのですね?

 でしたら、そのシート(或いはブック)には何かマクロがありませんか?

 まずはデータをコピーして新しいブックの新しいシートに貼り付け
 同じ事をやってみると、どうなるのか確認してみるのが良いかもしれません。

 (HANA)

 マクロがありました。
 マクロが組まれていると
 出来ないのでしょうか?
 また、新しいシートを
 挿入すると出来るのですが・・・
 (イルマ)


 そのマクロが
 ●条件付書式をクリアする
 あるいは
 ●先ほど条件付書式を設定した範囲に
  条件付書式の設定されていないセルをペーストする
 等のコードになっているなら・・・・。

 どの様なマクロなのですか?
 そのマクロは 何をするために必要なのですか?

 どちらを優先させるのか、
 場合によっては、マクロを改造するか
 それとも、条件付書式に頼らずに色を変えるのか
 決める必要が有るように思います。

 (HANA)


 >どの様なマクロなのですか?

 マクロがいくつもあるので
 どれかはわかりません。
 会社の先輩が作ったやつなので・・・

 >どちらを優先させるのか

 どれとかぶってるかはわかりませんが
 出来れば、どれも使いたいです。

 >条件付書式に頼らずに色を変えるのか

 出来るのであれば、どのような形でも
 かまいません。お願いします。
 (イルマ)

 どれとかぶっているか分からなければ
 どうにも手が出しにくいです。

 単独で動く物が出来ても、既に有るマクロによって
 現在と同じ状態に成る可能性も有りますし。

 ・・・と言うこちらの現状は、分かって頂けますかね?

 シートモジュールにマクロが有りますか?
 それとも、それ以外の所に有りますかね?

 そのシートは、何かが変わると どこかのセルの色や書式が
 自動的に変わるようには成っていませんか?

 (HANA)

 >シートモジュールにマクロが有りますか?
 >それとも、それ以外の所に有りますかね?

 両方にあります。

 >そのシートは、何かが変わると どこかのセルの色や書式が
 >自動的に変わるようには成っていませんか?

 セルの色が変わります。
 しかし、字の色ではなく
 塗りつぶす感じです。
 (イルマ)

 >セルの色が変わります。
 どこのセルの色が変わりますか?
 今回設定したい範囲と重なっていますか?

 そのコードはこちらへ載せることが出来ますか?

 (HANA)

 >今回設定したい範囲と重なっていますか?

 思いっきり重なっています。
 すいません。

 >そのコードはこちらへ載せることが出来ますか?

 どれが、それを指示しているのかはちょっと
 わからないのですが・・・

 やはり、そこがわからないとだめでしょうか?

 (イルマ)

 今回の場合、条件付書式を使うのが一番良いと思います。

 「そこが分からないと駄目」と言うか
 そこが分からないと何とも言いようが無いですし
 実際問題としては「そこが分かっても駄目」の場合も有ります。

 一応お伺いしてみますが、
 何がどうなった時に、どのセルに色が付くのですか?

 数が違っていた場合に色を付けるのではなく
 どこかのセルに何かを表示させる
 ・・・たとえば、14行目のどこかのセルだとか
 一行挿入した、下の行など・・・・
 で有れば、数式で出来ると思います。

 (HANA)

 >何がどうなった時に、どのセルに色が付くのですか

 クリックすると
 色がつきます。

 >数が違っていた場合に色を付けるのではなく
 >どこかのセルに何かを表示させる

 出来れば、文字に色を付けたいです。
 お願いします。

 (イルマ)

 ソノシートのシートタブを右クリックして、コードの表示を選択。
 出てきた画面の右上にあるプルダウンからSelectionChangeを選択。
 そこにある
 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 〜
 End Sub
 の部分がHANAさんが期待しているコードだとおもいますよb
 (ROUGE)

 昨日の段階では、目の前の問題である
「条件付書式の設定を勝手に解除するコード」の
 改造を考えていましたが・・・

 >クリックすると 色がつきます。
 この様になるシートが、他にもありますか?
 (他のブックも含め と言うことですが・・・。)

 他にも同じコードが使ってある物が有るのなら
 そのブックの物だけ改造するのは
 やめておくのが良いように思います。

 >会社の先輩が作ったやつなので・・・
 その先輩はもう居られないのですか?

 それを作った方が居られるのに
 勝手に改造するのも やめておくのが良いでしょう。
(ご本人さんがやるのなら別ですけど。)

 条件付書式の設定が使えないとなると
 マクロで処理をすることになると思いますが
 ここまでのやりとりから、何か有ったときに
 或いは実際のシートに合わせての改造時に
 イルマさんご自身で対応できるかどうか不安に思います。

 なお、ROUGEさんが書いて居られますが
 条件付書式の設定を解除しているのは
 >Worksheet_SelectionChange
 だと思いますが、文字色の変更をマクロで行うなら
 Worksheet_Changeイベントになりますね。

 (HANA)

 みなさん、返事がおそくなってしまい
 すいませんでした。

 ROUGEさんがおっしゃるように
 >Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 はありますが、個人の名前が
 ありまして、ここにコピーするのは
 できません。すいません。

 >この様になるシートが、他にもありますか?
 はい。それぞれにあります。

 >それを作った方が居られるのに
 >勝手に改造するのも やめておくのが良いでしょう。

 今はもういません。
 たしかに、勝手に改造するのはどうかと
 想ったのですが、一応
 元のBOOKとは別にコピーして
 改造し、使いやすければと思いまして

 Worksheet_Changeイベントでの
 やり方を教えていただけないでしょうか?
 (イルマ)

 なかなかすっきりしませんが・・・・。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng1 As Range, fc As Integer
Dim rngA As String, rngB As String, kv As Long
rngA = "K4"
rngB = "B14:AD14"
If Target.Count > 1 Then Exit Sub
    With Application
        If Not .Intersect(Target, Range(rngA)) Is Nothing Or _
         Not .Intersect(Target, Range(rngB)) Is Nothing Then
            If Not .Intersect(Target, Range(rngA)) Is Nothing Then
                Set rng1 = .Intersect(Rows(Target.Offset(10).Row), Columns("B:AD"))
                kv = Target.Value
            ElseIf Not .Intersect(Target, Range(rngB)) Is Nothing Then
                Set rng1 = .Intersect(Rows(Target.Row), Range(rngB))
                kv = Range("K" & Target.Row - 10)
            End If
            If .CountIf(rng1, "工") <> kv Then fc = 3
            rng.Font.ColorIndex = fc
        End If
    End With
End Sub

 (HANA)

コメント返信:

[ 一覧(最新更新順) ]


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