Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


999 / 13644 ツリー ←次へ | 前へ→

【76934】背景色 トキノハジメ 15/4/17(金) 11:20 質問[未読]
【76935】Re:背景色 β 15/4/17(金) 11:58 発言[未読]
【76936】Re:背景色 kanabun 15/4/17(金) 12:01 発言[未読]
【76937】Re:背景色 独覚 15/4/17(金) 13:10 発言[未読]
【76938】Re:背景色 β 15/4/17(金) 13:34 発言[未読]
【76939】Re:背景色 トキノハジメ 15/4/17(金) 14:47 質問[未読]
【76940】Re:背景色 独覚 15/4/17(金) 14:55 発言[未読]
【76941】Re:背景色 トキノハジメ 15/4/17(金) 15:01 質問[未読]
【76942】Re:背景色 β 15/4/17(金) 15:42 発言[未読]
【76943】Re:背景色 kanabun 15/4/17(金) 17:35 発言[未読]
【76944】Re:背景色 β 15/4/17(金) 18:13 発言[未読]
【76945】Re:背景色 kanabun 15/4/17(金) 18:58 発言[未読]
【76946】Re:背景色 β 15/4/17(金) 22:11 発言[未読]
【76955】Re:背景色 トキノハジメ 15/4/20(月) 10:56 お礼[未読]

【76934】背景色
質問  トキノハジメ  - 15/4/17(金) 11:20 -

引用なし
パスワード
   いつもお世話になります。

  A  B  C  D  E  F  G  H  I  K  L  M  N  O  P
1 1.1 1.2 1.3 1.4 1.4 1.6 1.8 2.1 2.3 2.3 2.6 2.9 3.2 3.8 4.1
2
3
4

上記のように数値を小さい順に並んだ時に、D1,E1 I1,K1 のように同じ数値の時に

背景色を薄紫等に色付けしたいのですが、どうすればよいか教えて下さい。

宜しくお願い致します。

【76935】Re:背景色
発言  β  - 15/4/17(金) 11:58 -

引用なし
パスワード
   ▼トキノハジメ さん:

条件付き書式がいいと思います。
このレイアウトだと、A列とB列以降にわけて設定する必要がありますが。

A1 : 数式が A1=B1 書式で好きな塗りつぶしの色
B1〜たとえば ZZ1あたりまで選択して : 数式が =IF(B1="",FALSE,OR(A1=B1,B1=C1)) 書式で好きな塗りつぶしの色

【76936】Re:背景色
発言  kanabun  - 15/4/17(金) 12:01 -

引用なし
パスワード
   ▼トキノハジメ さん:


>背景色を薄紫等に色付けしたいのですが、どうすればよいか教えて下さい。

もっと良い方法がありそうですが...

まず、
[A1:O1]を選択して 条件付き書式で、
  「数式が」「=A1=B1」  色を薄紫 書式に設定

つぎに、
[B1:O1]を選択して 条件付き書式を 追加、
 (第2条件)
「数式が」「=B1=A1」  色を薄紫 書式に設定

【76937】Re:背景色
発言  独覚  - 15/4/17(金) 13:10 -

引用なし
パスワード
   ▼トキノハジメ さん:
条件付き書式でもいいのであれば。

A1セルから選択開始してP1セルまで選択してから「数式を指定して書式設定するセルを決定」で

式を
=COUNTIF($A1:$P1,A1)>1
として書式の塗りつぶしで薄紫を選択してみてください。

とここまで書いて気づいたんだけれども、
>同じ数値の時に背景色を薄紫等に色付けしたい
これってペアになる数値で色を変えたいってこと?
D1セル・E1セルが薄紫だったらI1セル・K1(J1の間違い?)セルは薄緑とか?

【76938】Re:背景色
発言  β  - 15/4/17(金) 13:34 -

引用なし
パスワード
   ▼独覚 さん:

あぁ!
昇順なので、複数個ということは連続しているセルのなかの1つだということですね。
勉強になります!

【76939】Re:背景色
質問  トキノハジメ  - 15/4/17(金) 14:47 -

引用なし
パスワード
   ▼β さん:▼kanabun さん:▼独覚 さん:

有難うございます。

問いがややこしいので整理します。

  A  B  C  D  E  F  G  H  I  J  K  L  M  N  1 1.1 1.2 1.3 1.4 1.4 1.6 1.8 2.1 2.3 2.3 2.3 2.6 2.9 3.2

上記A より T まで 20個ぐらい  1列の中で D1,E1 が同じ数値で、I1,J1,K1

が同じ数値であった時に、同じであれば、D1,E1とI1,J1,K1 同じ数値か゛あるとい

うことですべて薄紫いろを背景色にする。

説明がまずくてすみません。 宜しくお願いいたします。 

【76940】Re:背景色
発言  独覚  - 15/4/17(金) 14:55 -

引用なし
パスワード
   ▼トキノハジメ さん:
それであれば今迄に挙がった方法で可能です。
(私の方法の場合は実際の範囲にあわせないとなりませんが。

それともVBAでの方法が知りたいということでしょうか?

【76941】Re:背景色
質問  トキノハジメ  - 15/4/17(金) 15:01 -

引用なし
パスワード
   ▼独覚 さん:
有難うございます。
>それともVBAでの方法が知りたいということでしょうか?

ぜひ、VBAでの方法でしりたいのです。

宜しくお願いいたします。
 

【76942】Re:背景色
発言  β  - 15/4/17(金) 15:42 -

引用なし
パスワード
   ▼トキノハジメ さん:

>ぜひ、VBAでの方法でしりたいのです。
>

では、今まででてきた計算式のロジックを書いただけですが。
アップされたサンプル、1行目だけではなく2行目、3行目もあるのかな?
と思えるんですが、とりあえず1行目だけです。

それと、薄紫 って、どの色をイメージしておられるのか不明だったので適当に。
エクセルバージョンによって色合いも異なるようですし、お気に召さなければ別のColorIndexなり
別のColorコードなりで処理してください。

Sub Test()
  Dim c As Range
  Dim flag As Boolean
  
  With Range("A1", Cells(1, Columns.Count).End(xlToLeft))
    .Interior.ColorIndex = xlNone
    For Each c In .Cells
      flag = False
      If c.Value = c.Offset(, 1).Value Then
        flag = True
      Else
        If c.Column > 1 Then
          If c.Value = c.Offset(, -1).Value Then flag = True
        End If
      End If
      
      If flag Then c.Interior.ColorIndex = 39
    Next
  End With
  
End Sub

【76943】Re:背景色
発言  kanabun  - 15/4/17(金) 17:35 -

引用なし
パスワード
   あ、それなら
こうでいいんじゃないでしょうか

Sub Test2()
  Dim c As Range
 
  With Range("A1", Cells(1, Columns.Count).End(xlToLeft))
    .Interior.ColorIndex = xlNone
    For Each c In .Cells
      If c.Value = c.Offset(, 1).Value Then
        c.Resize(, 2).Interior.ColorIndex = 39
      End If
    Next
  End With
 
End Sub

(最終セルが余分かも知れないですけど?)

【76944】Re:背景色
発言  β  - 15/4/17(金) 18:13 -

引用なし
パスワード
   ▼kanabun さん:

なるほど。

>(最終セルが余分かも知れないですけど?)

ということでしょうから

With Range("A1", Cells(1, Columns.Count).End(xlToLeft).Offset(,-1))

ですね。

【76945】Re:背景色
発言  kanabun  - 15/4/17(金) 18:58 -

引用なし
パスワード
   ▼β さん:

>>(最終セルが余分かも知れないですけど?)
>
>ということでしょうから
>
>With Range("A1", Cells(1, Columns.Count).End(xlToLeft).Offset(,-1))
>
>ですね。

ハイ。そのとおりですけど、でも、そうすると、

  With Range("A1", Cells(1, Columns.Count).End(xlToLeft).Offset(,-1))
    .Interior.ColorIndex = xlNone '◆

◆の範囲が 1つ少なくなってしまって... (^^

【76946】Re:背景色
発言  β  - 15/4/17(金) 22:11 -

引用なし
パスワード
   ▼kanabun さん:

>◆の範囲が 1つ少なくなってしまって... (^^

ですね。

.Resize(,.columns.count+1).Interior.ColorIndex = xlNone

ですかね。

【76955】Re:背景色
お礼  トキノハジメ  - 15/4/20(月) 10:56 -

引用なし
パスワード
   ▼β さん:>▼kanabun さん:>▼独覚え学 さん:


色々ありがとうございました。やっと上手くいきました。
又、宜しくお願い致します。

999 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free