Excel VBA質問箱 IV

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

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


3752 / 13645 ツリー ←次へ | 前へ→

【60161】複数の条件付書式 青空 09/1/31(土) 14:13 質問[未読]
【60162】Re:複数の条件付書式 マクロマン 09/1/31(土) 14:28 発言[未読]
【60164】Re:複数の条件付書式 青空 09/1/31(土) 22:25 お礼[未読]
【60169】Re:複数の条件付書式 マクロマン 09/2/1(日) 10:04 発言[未読]
【60171】Re:複数の条件付書式 青空 09/2/1(日) 17:07 お礼[未読]
【60163】Re:複数の条件付書式 ponpon 09/1/31(土) 17:51 発言[未読]
【60165】Re:複数の条件付書式 青空 09/1/31(土) 22:34 お礼[未読]
【60166】Re:複数の条件付書式 ponpon 09/1/31(土) 23:33 発言[未読]
【60167】Re:複数の条件付書式 青空 09/2/1(日) 7:26 お礼[未読]
【60170】Re:複数の条件付書式 kanabun 09/2/1(日) 16:01 発言[未読]
【60172】Re:複数の条件付書式 青空 09/2/1(日) 17:12 お礼[未読]
【60173】Re:複数の条件付書式 マクロマン 09/2/1(日) 18:13 発言[未読]
【60366】Re:複数の条件付書式 青空 09/2/13(金) 18:59 質問[未読]

【60161】複数の条件付書式
質問  青空  - 09/1/31(土) 14:13 -

引用なし
パスワード
     A  B  C 
1  12 50 30
2  15 30 25
3  28 25 10
4  40 45 15
5  55 50 18
6  20 40 24
7  25 35 34
8  30 60 40
9  15 10 48
10 50 15 22

A1からA10、B1からB10、C1からC10、D1からD10までの
各行範囲から上位5番目までのセル番地に背景色をつけるには、
どうすればいいですか。
宜しくお願いします。

【60162】Re:複数の条件付書式
発言  マクロマン  - 09/1/31(土) 14:28 -

引用なし
パスワード
   WorksheetFunction.Rank
を使う、というのはいかがでしょう?

【60163】Re:複数の条件付書式
発言  ponpon  - 09/1/31(土) 17:51 -

引用なし
パスワード
   LARGE関数を使ってみました。
ミスがあるかもしれません。

Sub test()
  Dim myV As Long
  Dim FR As Range
  Dim i As Long, j As Long
  Dim firstAddress As String
  
  With Sheets("Sheet1")
    .Cells.Interior.ColorIndex = xlNone
    For i = 1 To 3
     For j = 1 To 5
      myV = WorksheetFunction.Large(.Range(.Cells(1, i), .Cells(10, i)), j)
      Set FR = .Range(.Cells(1, i), .Cells(10, i)).Find(myV, LookIn:=xlValues)
      If Not FR Is Nothing Then
        firstAddress = FR.Address
        Do
         If FR.Interior.ColorIndex = xlNone Then
           FR.Interior.ColorIndex = 3 '赤
         End If
         Set FR = .Range(.Cells(1, i), .Cells(10, i)).FindNext(FR)
        Loop While FR.Address <> firstAddress
       End If
     Next j
    Next i
   End With
End Sub

【60164】Re:複数の条件付書式
お礼  青空  - 09/1/31(土) 22:25 -

引用なし
パスワード
   マクロマンさん
ヒントを頂きありござございます。
WorksheetFunction.Rankについて調べてみましたが
うまく出来ません。

【60165】Re:複数の条件付書式
お礼  青空  - 09/1/31(土) 22:34 -

引用なし
パスワード
   ▼ponpon さん:
ありがとうございます。
前回の質問に説明不足がありました。
LARGE関数で上位5番目まで出来ました。
恐れ入りますがLARGE関数で上位5番目まで
それぞれ違う色の背景色に
変える方法を教えて頂ければ嬉しいです。

【60166】Re:複数の条件付書式
発言  ponpon  - 09/1/31(土) 23:33 -

引用なし
パスワード
   ▼青空 さん:
>それぞれ違う色の背景色に
>変える方法を教えて頂ければ嬉しいです。

ColorIndexを変えることで色の設定はできます。

Sub test()
  Dim myV As Long
  Dim FR As Range
  Dim i As Long, j As Long
  Dim firstAddress As String
  Dim myAry As Variant
  
  'ここで色を設定していますので、お好きな色に
  myAry = Array(3, 4, 6, 8, 7) '赤,黄緑,黄色,水色,ピンク

  With Sheets("Sheet1")
    .Cells.Interior.ColorIndex = xlNone
    For i = 1 To 3
     For j = 1 To 5
      myV = WorksheetFunction.Large(.Range(.Cells(1, i), .Cells(10, i)), j)
      Set FR = .Range(.Cells(1, i), .Cells(10, i)).Find(myV, LookIn:=xlValues)
      If Not FR Is Nothing Then
        firstAddress = FR.Address
        Do
         If FR.Interior.ColorIndex = xlNone Then
           FR.Interior.ColorIndex = myAry(j - 1)
         End If
         Set FR = .Range(.Cells(1, i), .Cells(10, i)).FindNext(FR)
        Loop While FR.Address <> firstAddress
       End If
     Next j
    Next i
   End With
End Sub

【60167】Re:複数の条件付書式
お礼  青空  - 09/2/1(日) 7:26 -

引用なし
パスワード
   ponpon さん

どうもありがとうございました。
思うとおりに設定出来ました。
感謝します。

【60169】Re:複数の条件付書式
発言  マクロマン  - 09/2/1(日) 10:04 -

引用なし
パスワード
   >WorksheetFunction.Rankについて調べてみましたが
>うまく出来ません。

一般関数の
RANK
と使い方は同じです。

【60170】Re:複数の条件付書式
発言  kanabun  - 09/2/1(日) 16:01 -

引用なし
パスワード
   ▼青空 さん:
おそがけにお邪魔します。

解決されたようですが、
補足的で、
マクロマンさんのおっしゃってる
> Rank関数
を使ったばあいのサンプルです。

Sub Try2()
  Dim Col As Range, c As Range
  Dim i&
  Dim ColorIndex
  ColorIndex = Array(0, 3, 4, 6, 8, 7) '順位別に塗りつぶす色
  With [A1:C10]
    .FormatConditions.Delete
    .Interior.ColorIndex = xlNone
    For Each Col In .Columns   '---- 1列づつ
      For Each c In Col.Cells  ' --- セルをループする
        i = WorksheetFunction.Rank(c, Col)
        Select Case i
         Case 1 To 5
           c.Interior.ColorIndex = ColorIndex(i)
        End Select
      Next
    Next
  End With
End Sub

【60171】Re:複数の条件付書式
お礼  青空  - 09/2/1(日) 17:07 -

引用なし
パスワード
   マクロマンさん

丁寧にありがとうございます。
また宜しくお願いします。

【60172】Re:複数の条件付書式
お礼  青空  - 09/2/1(日) 17:12 -

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

丁寧に補足して頂きありがとうございます。
また利用する機会があるかもしれません。
参考にさせて頂きます。

【60173】Re:複数の条件付書式
発言  マクロマン  - 09/2/1(日) 18:13 -

引用なし
パスワード
   kanabunさん、フォローありがとうございます。
手抜き回答すみません。

【60366】Re:複数の条件付書式
質問  青空  - 09/2/13(金) 18:59 -

引用なし
パスワード
      A  B C  D      J K L M
1   12 51 30 41  21  78 78 45 27
2   15 30 25 22  22  48 88 58 26
3   14 50 30 91  23  77 89 52 26
4   15 30 25 22  24  68 88 55 106
5   12 50 33 41  25  78 88 55 29
6   15 30 25 22  26  48 83 56 29
7   12 57 30 44  27  78 38 55 76
8   45 40 25 60  28  71 89 59 21
9   12 57 37 41  29  72 48 65 23
10  19 80 25 22  30  76 78 47 26


A1からA10、B1からB10、C1からC10、D1からD10までセル範囲と
J21からJ30、K21からK30、L21からL30、M21からM30までセル範囲に
上位5番目までそれぞれ5色に色分けした条件付書式をLARGEを使用して
1回の操作で返す事ができますか?
前回教えて頂いたRANKで複数のセル範囲に条件付書式を返す事ができました。
LARGEでも複数のセル範囲に1回の操作で条件付書式を返す方法がありましたら
どなたかご協力宜しくお願いします。

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