[[20160331042725]] 『行数と色セルにする』(北太郎) ページの最後に飛ぶ

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

 

『行数と色セルにする』(北太郎)

以前 色セル間の行数算出マクロ 教えて 貰い有難うございます
 また お願いしたく 類似したマクロになると 思いますが 又は の数値は指定数値 になります  マクロ文に註釈文をいれて 貰えると勉強になります 

 a列  b列
 青セル
 1
 1
 1 
 黄セル 5     範囲指定(黄セルになるまで)  黄セル 又は 数値になれば
 1                           黄セルにする
 1                            行数をb列に算出する 
 1   
 青セル 6     範囲指定(青セルになるまで)  青セル 又は 数値になれば 
 1                           青セルにする
 1                            行数をb列に算出する
 1
 1
 1
 黄セル 7     範囲指定(黄セルになるまで)  黄セル 又は 数値になれば
 1                           黄セルにする
 1                            行数をb列に算出する
 青セル 4     範囲指定(青セルになるまで)  青セル 又は 数値になれば
  
                             青セルにする
                              行数をb列に算出する ””3000行以上連続シングル数値空白なし

< 使用 Excel:Excel2007、使用 OS:WindowsXP >


 回答ではありません

 (あいかわらず)質問文の意味がわかりにくいので、前スレリンクを貼っておきます。
 稲葉さんのコードを動かすと、あぁ、こんなことがしたかったんだなと 回答者側で理解しやすいと思いましたので。

[[20160311103119]] 『色セル間の行数』(北太郎) 

 それと

 >>又は の数値は指定数値 になります  

 指定数値が入っているサンプルをアップしてください。

(β) 2016/03/31(木) 08:35


 御返答 有難うございます 説明不足ですみません
 a         b
 2.5	
 3.6	
 3.4	
 3.7	
 6青	21        青。21は手入力 以下同       
 8.5	
 -3.6黄	3

 4.8	
 2.4	
 1.1	
 0.6	
 2.7	
 2	
 2.9青	8
 3	
 -0.6	
 -0.2	
 -0.3	
 -2.8	
 -4.7	
 -4.3	
 -6.3	
 -7.4	
 2.6	
 2.8	
 1.3	
 1.2黄	14
 1.3	
 2	
 1	
 1.2	
 3.8	
 3.6	
 3.7	
 3.5	
 1.9	
 2	
 2.8	
 2.7	
 3.1	
 2.9	
 2.3	
 3.2	
 3.3	
 4	
 6.4	
 7.9	
 10.3青	22
 12.6	
 -2.3	
 -1.3	
 -2.4	
 -2.3	
 -2.5	
 -4.8	
 -7.3黄	9
 -6.3	
 -6.8	
 -5.8青	4
 -5.7	
 -4.9	
               宜しく お願いします 
(北太郎) 2016/03/31(木) 15:58

 横から失礼します。

 >21 青

 の意味が良く分かってないのですが、稲葉さんのコードの
 r.Offset(, 1).Value = r.Row - n
 を
 r.Offset(, 1).Value = r.Row - n + 1

 にすればいいのかな?
(se_9) 2016/03/31(木) 16:13

御返答 有難うございます  プレビューにすると 揃えて書いたのですが 立て横ずれてしまいます
a列   b列
−30黄 5 

 -5.8	
 1	
 2.5	
 2.2	
 1.3	
 1.3	
 1.7	
 2.5	
 3.6	
 3.4	
 3.7	
 6青	21  (セルの数値が6で背景色が青 21は 上黄セルからの行数) 
 8.5	
 -3.6黄	3
 -4.8	
 2.4	
 1.1	
 0.6	
 2.7	
 2	
 2.9青	8
 3	
 -0.6	
 -0.2	
 -0.3	
 -2.8	
 -4.7	
 -4.3	
        
       n+1の意味わかりました row関数での算出値より1つ少ない件
      今回色セルにするマクロ をお願いした次第です 宜しくお願いします
(北太郎) 2016/03/31(木) 19:33

何度も読み返しましたが何をしたいかわかりませんでした。
 1)B列に値が入力されていたら
 2)お隣のA列のセルに色をつける。
 3)その色は、青黄青黄…と交互にしたい
  
ということでしょうか?

(マナ) 2016/03/31(木) 22:16


↑の通りであれば
 Sub test()
    Dim r As Range
    Dim flg As Boolean

    For Each r In Range("B1:B3000")
        If r.Value <> "" Then
            r.Offset(, -1).Interior.Color = IIf(flg, vbYellow, vbBlue)
            flg = Not flg
        End If
    Next

 End Sub

(マナ) 2016/03/31(木) 22:34


有難う ございます 再考しながら書いたのですが マクロプログラム作れないために 説明不十分で お許し
          下さい
    
     a列の値が6ならば そのセルを青にする(背景色)
               隣りb列に行数を算出(上黄セルからの行数)
     a列の値が-3.6ならばそのセルを黄にする(背景色)
               隣りb列に行数を算出(上青セルからの行数)

     1)逆になります a列に6が入力されて居たら そのセルを青にする
     2)隣りのb列に 行数算出 
     3)そのとうりです

サンプルデータの色セルや行数は手入力したものです これをマクロプログラムにしたらとーーーー

稲葉さんに作成してもらえたマクロは 青セル―黄セル―青セル―黄セル間の行数算出でした
  今度のマクロお願いは セル値によつて色ずけし 行数を算出します セル値にある程度の
   規則性が有ります    増大しながらセル値(青)減少しながらセル値(黄)増大しながら
   セル値(青)減少しながらセル値(黄)ーーーーー3000行以上有るのですが 指定値の有るところで
   マクロ終了にーーーーーー考えが及ばない説明で 宜しくお願いします       
(北太郎) 2016/04/01(金) 03:40


 >>a列の値が6ならば そのセルを青
 >>a列の値が-3.6ならばそのセルを黄

 という説明がありながら、例示としては、いきなり最初に −30黄 とでてきます。
 さらに、その下の行の例示も、 2.9青 のように、説明の数字ではないのに 青だったり黄色だったりしてますね。

 ここがわからなくなる理由の1つです。

 むしろ 

 >>ある程度の規則性が有ります
 >>増大しながらセル値(青)減少しながらセル値(黄)増大しながら・・・・

 ここでしょ?重要なのは。 

 「ある程度」という表現も わかりにくくしている原因です。
 「ある程度」といったいいかげんな規則は、少なくともデータ処理ではありえない。

 明確に、かつ、正確に「この規則」という表現で、示し、その規則性によって、どのようにしたいのかを
 きちんと説明してください。

 もう1つ。
 (北太郎) 2016/03/31(木) 19:33
 この例示で色が付けられている、4つのセル。
 なぜその色がついているか、それぞれの4つのセルについて、その理由も、言葉で具体的に説明してみてください。

 
(β) 2016/04/01(金) 08:29


           御指摘 有難うございます 6時間かけて書いた文 プレビュウで見たら 立て横ずれて おかしい
       文体になり 再度書きます 簡潔にします
       a列 数値の横に青と書いていたらそのセルを青色にするとゆう意味です 
              
   a      b

  4.1青	6

        上データで セルに色付けするマクロ お願いしたいです
(北太郎) 2016/04/01(金) 19:54


ごめんなさい。今なお理解できていません。

 1)A列のデータを順番に調べて
 2)値が ????だったら、背景色を青または黄色にする
 3)色は、青黄青黄…と交互にしたい
 4)隣のB列に、行数を表示する

ということだとして、????の部分を教えていただけますか。

(マナ) 2016/04/01(金) 20:19


 >>a列 数値の横に青と書いていたらそのセルを青色にするとゆう意味です 

 ですから、なぜ 青にするのか、なぜ 黄色にするのか、そのルールを質問しています。
 アップしたサンプルに青と書いてあるところは青なんだといわれても、マクロでは、どうしようもないですよね。

 もう一度コメントします。

 (北太郎) 2016/04/01(金) 19:54 のサンプルで 青 や 黄 となったセルに、その色をつける判断基準を
 すべて、「言葉で」説明してください。

 サンプルに 青 と書いたから青なんだ ではなく。

(β) 2016/04/01(金) 20:49


 もしかしてこういうことなのかな?

 	A	B
 1	4.1青	
 2	-1.2	
 3	-3.7	
 4	-6.1	
 5	-8.6	
 6	-11.3	
 7	-11.2	
 8	-15.2	
 9	-16.4	
 10	-17.6	
 11	-21.9黄	
 12	0.2	
 13	4.5青	
 14	-1.9	
 15	-6.3	
 16	-5.6	
 17	-3.4	
 18	-5.8黄	
 19	-14.1	
 20	4.7	
 21	5	
 22	5.5	
 23	8.7	
 24	12.3	
 25	14.2	
 26	-4.3	
 27	0	
 28	1.1	
 29	5.4	
 30	5.3	
 31	8青	
 32	-2.7	
 33	-4.8黄	
 34	-5.1	
 35	0.2	
 36	3.5	
 37	3.4	
 38	3.6青	
 39	-0.3	
 40	0	
 41	-0.1	
 42	-2.9	
 43	-3	
 44	-5.8黄	
 45	-6	
 46	2.8	
 47	2.7	
 48	3.9青	
 49	5.9	
 50	6.4	
 51	-0.7	
 52	-1	
 53	-2.3黄	
 54	-4.2	
 55	0.9	
 56	2.9	
 57	1.7	
 58	2.5	
 59	2.8	
 60	3.7	
 61	3.8	
 62	6.5	
 63	6.5	
 64	6.4	
 65	9.1	
 66	10.4	
 67	10.5青	
 68	11.3	
 69	11.5	
 70	-0.2	
 71	-2.8	
 72	-4.1黄	
 73	1.2	
 74	1.3	
 75	3.4	
 76	-3	
 77	2	
 78	2.2	
 79	4.7青	
 80	-2.5	
 81	-3黄	
 82	-4.3	
 83	0.5	
 84	0.3	
 85	0	
 86	1.6	
 87	1.9	
 88	1.6	
 89	1	
 90	2.1	
 91	1.2	
 92	2.6	
 93	2.4	
 94	3.4	
 95	3.7	
 96	3.4	
 97	5.1青	
 98	5.6	
 99	5.1	
 100	3.7	
 101	2.8黄	
 102	3.5	
 103	5.5	
 104	6	
 105	4.1	
 106	4.6	
 107	3.8	
 108	4.6	
 109	4.2	
 110	4.6	
 111	4.9	
 112	4.2	
 113	4.3	
 114	4.4	
 115	5	
 116	8.2	
 117	8.2	
 118	7.9	
 119	8	
 120	6.8	
 121	7.8	
 122	8.4	
 123	8.6	
 124	8.6	
 125	8.2	
 126	8.8青	
 127	-0.4	
 128	-2.9	
 129	-3.4	

 Option Explicit

 Sub ColorSpace()

     Dim r As Range
     Dim n As Long

     For Each r In Range("A1:A3000")
         If r Like "*青" Then r.Interior.ColorIndex = 5
         If r Like "*黄" Then r.Interior.ColorIndex = 6
         If r.Interior.ColorIndex <> xlNone Then
            r.Offset(, 1).Value = r.Row - n
            n = r.Row
         End If
     Next r

 End Sub

 B1セルの6は意味不明なので無視してます。
(se_9) 2016/04/01(金) 20:50

 あぁ、本当に、文字で青なら青、黄なら黄 という意味でしたか?
 特定の数値がどうこう ということは、全く関係なかったんですかぁ・・・

 群青色 と書いてあったらどうするのかなぁ・・・。 

 まぁ、青 と 黄 しかないということですかね。

 ただ・・・もしそうだとしたら、なぜ? という印象です。

 8.8青 と 入力するんですよね。
 で、後からマクロで xx青 のセルをさがして青く色を塗る?

 βなら 8.8 と入力して、そこで青を塗りますね。あっというまですから。
 そうしておけば、前スレの稲葉さんのコードでいいわけですし。

(β) 2016/04/01(金) 21:28


送信されてない様子 再度 書きました

 データ修正 b列無視 宜しいです    8.8青 一体では有りません 青字は説明文として つけ
 ただけなのです 8.8になれば そのセルを青にする  (時系列データです 高い数値を青に 低い
 数値を黄に)  あくまでも  -3になれば黄にする  5.1になれば青にする  2.8になれば黄に
 する     

稲葉さんのコードでは できないと思います(塗りつぶしコードがない) 

また 説明不足かも   よろしくお願いします  
(北太郎) 2016/04/03(日) 01:41


茶々入れですが、まず、句読点(。、)をキチンとつけてください。
小学校で学んだはずですが。

また、青、黄の判定基準を明確にしないと、前に進まないと思います。
8.8とか5.1とかの固定的数値ではなく、なんらかの判定基準があるはずです。

(γ) 2016/04/03(日) 08:24


 βさんが2016/04/01(金) 08:29に書いた 

 >明確に、かつ、正確に「この規則」という表現で、示し、その規則性によって、どのようにしたいのかを
 >きちんと説明してください。

 >もう1つ。
 >(北太郎) 2016/03/31(木) 19:33
 >この例示で色が付けられている、4つのセル。
 >なぜその色がついているか、それぞれの4つのセルについて、その理由も、言葉で具体的に説明してみてください。

 は読まれましたか?北太郎さんの説明ではどのような規則性があるのかまったくわかりません。
 いくらマクロでも規則性がないと色を付けるのは無理ですよ。
(se_9) 2016/04/03(日) 09:02

御解答、御指摘、有難うございます、マクロ化はむずかしいのでは、ないかと考えていました、

 条件付き書式、関数羅列などして、色付け出来るのですが、マクロ化すると何でも出来ると
 考えていたのですが、規則性がないとだめなんですね、指摘されて、初めて分かりました。

 今まで、関数を使い、ーー、条件付き書式を知り、ーー、マクロ化を知り始めた者です。

 作成下されたマクロを参考にして、再考します。

 親切に教えくだされて感謝します、また、お願いのときは、宜しくお願いします

 北太郎(北海道 高齢者) 
(北太郎) 2016/04/03(日) 13:17


 もう、ご覧にならないとは思いますが。

 >>規則性がないとだめなんですね、指摘されて、初めて分かりました

 それは当然ですね。プログラムというものは、人間が(プログラマが)こういった場合はこうする という記述をするものです。
 どんな条件かは指定しないけど、条件が合えば青にしろ というコード、仮に書いたとしても、正しい実行はできません。

 >>マクロ化すると何でも出来る

 できるものを、かつ、正しく記述すればできます。
 マクロだからということではなく、たとえばアルバイトの人に、ここに数値が列挙されているけど、
 私(北太郎さん)が、青にしたいと思っている数値に青を、黄色にしたいと思っている数値に黄色を塗ってくださいと
 そう依頼したら、そのアルバイトの人は正しく色塗りできるでしょうか?

 >>条件付き書式、関数羅列などして、色付け出来るのですが

 ということは【規則もあるし、条件も明確】だということですよね。
 関数で、=何かわからないけどこうしろ という式はありえませんし、条件付書式で 条件はわからないけど
 セルの色は青 なんて登録できませんよね?

 今、関数や条件付書式で実現できているなら、どんな式がどのセルにセットしてある、どんな条件付書式をどのセル領域にセットしてあると
 その実際の式や条件をアップされれば、その式や条件が【雄弁】に、北太郎さんの要件を語ると思いますが?

 ●一生懸命、北太郎さんの要件を想像して、もしかしたら、数字が大きくなったり小さくなったり、また大きくなったりと
  その流れの中で、「山頂」が青、「谷底」が黄色 なんて思ったりしたんですが、

  96	3.4	
 97	5.1青	
 98	5.6	

 必ずしも 青が 「山頂」ではありませんし

 80	-2.5	
 81	-3黄	
 82	-4.3	

 必ずしも 黄色 が 「谷底」ではないので、悩んでしまうんです。

(β) 2016/04/03(日) 16:53


有難うございます、指摘してくれた文で、こうなのではないですか、ーー、そのとうりなのです。
 条件付け書式で、出来るのだから、マクロにしたらと、お願いしたしだいです。
 
 エクセル2007から大幅に向上したのを期に、購入、つい最近、検索、色付けが、何個でも制限なく
 出来るのを、遅まきながら知り、ーー、望んだように出来るのですが、ーー、等しい値に色付けーー

 (重複は望まない、2番目以降の重複を削除できる方法があるらしい)

 山頂、谷底、データ数値とあつていません、問題はそこなのです、ーー、あつているのでしたら、簡単 に、マクロ化、出来ると思います。ーー、この問題解決に、10年以上試行錯誤しながら、無駄な努力
 をしている、ところなのです。ーー、解決方法、諦めないで再考します。考えついた方法が、見つけた らマクロ化が可能かどうか 、教え、お願いするしだいです。
(北太郎) 2016/04/04(月) 00:37


条件付き書式でセルに色付けする  
  範囲  e:e    条件付き書式クリツク

    値が等しい     選択セルをクリツクして入力ーー。この入力欄をlnputboxにして任意に入力したい。
  書式 塗りつぶし 青     ok

  マクロ記録して、ここに、lnputboxをいれたらと,考えて入れましたが、)、区切りがないとかだめでした
   任意入力出来るようなマクロ お願いしたいのです。(ボタン、任意入力ーーで簡素化したい)

    e列のデータは、a,b,c,dセルを結合した数値です

a b c d e    
66 78 92 7.9 6678927.9
78 92 100 10.3 789210010.3
88 97 99 12.6 88979912.6
91 93 81 -2.3 919381-2.3
92 90 89 -1.3 929089-1.3
90 84 81 -2.4 908481-2.4
86 84 81 -2.3 868481-2.3
82 81 80 -2.5 828180-2.5
79 75 63 -4.8 797563-4.8
70 63 45 -7.3 706345-7.3
64 54 52 -6.3 645452-6.3
57 46 40 -6.8 574640-6.8
50 47 49 -5.8 504749-5.8
47 46 50 -5.7 474650-5.7
49 51 56 -4.9 495156-4.9
48 50 45 -6.2 485045-6.2
50 50 49 -5.7 505049-5.7
46 42 32 -7.7 464232-7.7
43 38 33 -7.6 433833-7.6
37 29 23 -8.4 372923-8.4
34 30 33 -7.2 343033-7.2
30 28 30 -7.6 302830-7.6

(北太郎) 2016/04/12(火) 15:34


 どうも、やりたいことが(なぜ、やりたいのかということ)わかりませんねぇ。

 セルの値が hoge なら 青 という 条件付書式を設定するなら、何も hoge を INPUTBOX で指定しなくても
 条件付書式ダイアログで、でてくる入力欄に hoge といれれば、それで済む話ではないのですか?

 なぜ、わざわざ、INPUTBOX経由で指定したいのか??

 それと

 >>区切りがないとかだめでした

 この文章もよくわからないのですが、【何という値】を入力したら 【正確に、どんなエラー】になったのですか?

(β) 2016/04/12(火) 16:21


御返答、有難うございます
 指摘して、下されたとうりなのですが、入力完了まで手間が、掛ります。

 範囲指定
 条件付き書式
 値げ等しい
 選択セルをクリツクして入力ーー
 書式 ユーザ定義 塗りつぶし 薄青 
 ok
 
 ひとつのセル色付け、でしたら、これでいいのですが、沢山のセルを(皆、違う値です]色つけします
  この方法でしか、ないと考えるのですが、ーーー  せめて、入力の所をlnputbox関数 を入れて
  マクロを作れば、そう出来るならば、−−− マクロをボタン化して、 

  ボタン クリツク
  入力欄が出て入力
  ok

   こうできれば、と考えて 、お願いしたしだいです

(北太郎) 2016/04/13(水) 08:25


 あまりマクロ化の必要性は感じませんが、サンプルをアップしておきます。

 それにしても、説明から想像するに、たとえば あるセルの値が 10 だった。
 で、北太郎さんの頭の中で、おぉ、ここが青だ。そう判断して、そのセルを選択して、条件付書式。
 セルの値が 10 なら 青 と設定??

 そんなことをするくらいなら、条件付書式ではなく、直接、そのセルに青を塗ればいいのではとも思いますが
 まぁ、まだ、説明されていない部分もあるのでしょうかね。

 あと、

 >>この文章もよくわからないのですが、【何という値】を入力したら 【正確に、どんなエラー】になったのですか?

 これに返事をもらっていないのですが?

 Sub Test()
    Dim r As Range
    Dim val As String

    On Error Resume Next
    Set r = Application.InputBox("条件設定したい範囲を選択してください", Type:=8)
    On Error GoTo 0

    If r Is Nothing Then Exit Sub

    val = InputBox("比較したい値をいれてください")
    If val = "" Then Exit Sub

    With r.FormatConditions
        .Delete     '★具合悪ければ消してください
        .Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=" & val
        With .Item(1).Interior
            .PatternColorIndex = xlAutomatic
            .Color = vbBlue
            .TintAndShade = 0
        End With
    End With

 End Sub

(β) 2016/04/13(水) 08:41


 有難うございます 

 実行しました、望んだように、なると、嬉しいものですね、有難うございます。

  もうひとつ、黄色セルにする、マクロ、これは、カラーのところを修正すればーー。と思います。
  
   色セルにする為に、わざわざ、マクロにしなくても、との御指摘ーー マクロにしていたら、その

   セルに等しい値が入つたら、自動的に青セル、黄セルに、なると思うからです。

   2007エクセルから、いくらでも、可能とのことを知り、これがいいと思いました。
    いいのですが、色定義が固定出来ない様子 ?これで、手数が、かかります

マクロ記録したものです
    formula1:= ここに、lnputbox関数を入れました
                   (, 区切り位置がーーーとか出て、エラーなのか実行不能
                   何度もサンプルマクロを見て、修正したつもりでしたが、
                   再び、お願いしたしだいです。

' Sub Macro4()

' Macro4 Macro
'

'

    Columns("R:R").Select
    Range("R11").Activate
    Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
        Formula1:="=$R$110"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorLight2
        .TintAndShade = 0.799981688894314
    End With
    Selection.FormatConditions(1).StopIfTrue = False
End Sub
(北太郎) 2016/04/13(水) 17:43

 >>    formula1:= ここに、lnputbox関数を入れました 
 >>                    (, 区切り位置がーーーとか出て、エラーなのか実行不能 
 >>                    何度もサンプルマクロを見て、修正したつもりでしたが、 
 >>                    再び、お願いしたしだいです。 

 Formula1:=INPUT(なんたら) ですか?

 ダイアログでキャンセルボタンが押されることもありますので、こういった書き方はやめたほうがいいですけど

    val = InputBox("比較したい値をいれてください")
    If val = "" Then Exit Sub

 これを消して

    With r.FormatConditions
        .Delete     '★具合悪ければ消してください
        .Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=" & InputBox("比較したい値をいれてください")
        With .Item(1).Interior
            .PatternColorIndex = xlAutomatic
            .Color = vbBlue
            .TintAndShade = 0
        End With
    End With

 こんなように書くことはできますけど・・・・

 で、トピとしては、解決でよろしいのですね?
 あるいは、まだ、追加で、お手伝いが必要ですか? (複数条件をいっぺんに指定したいとか)

(β) 2016/04/13(水) 18:16


有難う ございます。

作成して下された(サンプロマクロ)を見て修正云々ーー、は本で読み、その中に有るサンプルマクロの事です。
 lnputを、さらに知ろうと、関数の書き方、関数、メソツト、モーダル、案外、詳しく書いているのを見て、修正をこころ見たしだいです、読みだけじゃ、だめです。プログラム書けるように、なりたいと、自分なりに努力したつもりですが、win95、から、me,xp,とーーー。

 作成してくれたマクロで、ok、なのですが、2つ修正したいのです。

   セル選択(セルをクリツクすると入力。条件付け書式では出来ます)入力方法
   色は、薄い青(マクロ記録では、0.799ーーになつています)=vbblue(濃い青、セルの値が見えな    くなる)

 サンプルマクロを、ふたつの、モジユ―ルにコピー貼り付けします。 各々、薄青マクロ。黄マクロにします。
  
 これらが、可能になると、目標達成が、かなり近くなる、思いがします。

 複数条件の件、セル結合しての、結合セルの値を見ての、ご指摘と、思います。重複がでない様にと、思い
        セル結合しての絞り込みを考えました。3000,5000行で重複がほとんど、出ません。これが、
        また、問題なのです。−−−まずは先に,セル色付けが出来ると、色セル間の行数算出もできま        す。
 お願いする事.皆、教え下され、感謝するしだいです。 
(北太郎) 2016/04/14(木) 03:44


 >>複数条件の件、セル結合しての、結合セルの値を見ての、ご指摘と、思います

 いやぁ・・セル結合のことは何も考慮していませんし、データの重複云々も何のことだかわかりません。

 申し上げたのは、アップしたコードは 条件がこれこれなら青 というセットでしたが
 条件がこれこれなら青、これこれなら黄色、・・・と一度に複数条件を指定して、一挙に設定可能にするコードという意味です。

 なお 色番号は 好きなものに変更すればいいのですよ。

 .Color = vbBlue

 となっているところを .Color = xxxxx

 xxxxx については、自分で好みの色の色番号を調べて、それを使ってください。

 好みの色の色番号の調べ方がわからなければ、たとえば どこかのセルを好みの色で塗りつぶしておいて
 そのセルを選択して、

 Sub 色チェック()
    MsgBox Selection.Interior.Color
 End Sub

 こんなマクロを実行すれば表示されます。

(β) 2016/04/14(木) 08:44


 とりあえず 青条件、黄条件を一度に指定して処理するコードです。
 たとえば 青にしたい値が 12.34 、黄色にしたい値が 45.67 だったとすると 12.34/45.67 と / で区切って入力します。

 青は水色にしてありますが、先にコメントしたように、好きな色に変えてください。

 この先、また追加変更などがあれば、できるだけ、自分でマクロ記録をとって、それを、このコードに当てはめるようにしてください。
 (色番号まで、回答者に考えさせるようなことはやめましょうね)

 Sub Test2()
    Dim r As Range
    Dim ans As String
    Dim val As Variant

    On Error Resume Next
    Set r = Application.InputBox("条件設定したい範囲を選択してください", Type:=8)
    On Error GoTo 0

    If r Is Nothing Then Exit Sub

    ans = InputBox("比較したい値を 青にする値/黄色にする値 の形で指定してください")
    If ans = "" Then Exit Sub

    val = Split(ans, "/")
    If UBound(val) <> 1 Then
        MsgBox "値の指定方法が間違っています"
        Exit Sub
    End If

    With r.FormatConditions
        .Delete
        .Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=" & val(0)
        With .Item(1).Interior
            .PatternColorIndex = xlAutomatic
            .Color = vbCyan
            .TintAndShade = 0
        End With
        .Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=" & val(1)
        With .Item(2).Interior
            .PatternColorIndex = xlAutomatic
            .Color = vbYellow
            .TintAndShade = 0
        End With
    End With

 End Sub

(β) 2016/04/14(木) 08:58


即の御返答 有難うございます。

 青、黄、ともに使える、マクロ作成して下され、うれしく思います。
 
 このマクロを、使わせて貰えれば、かなりの、良い結果が得られる

 と、思われるので、これからの操作作業、が楽しくなります。

  こんなに、親切、丁寧に教えてくれ、マクロ作成してくれるなんて、驚いています。

  それで、無料なんてーーー有難う存じます。       北太郎(78才)
(北太郎) 2016/04/14(木) 15:40


コメント返信:

[ 一覧(最新更新順) ]


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