[[20040830163040]] 『2番目に大きい値のセルの塗りつぶし』(OK) ページの最後に飛ぶ

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

 

『2番目に大きい値のセルの塗りつぶし』(OK)

データの中で2番目に大きい値が書き込まれているセルを赤色に変える方法を教えてください。
よろしくお願いします。


 データの範囲がA1:A10としたら、A1:A10を選択して、条件付き書式で 「数式が =RANK(A1,$A$1:$A$10)=とし、
 書式のパターンで赤を選択」して下さい(純丸)

 ちょっと遅れてしまいました・・・せっかく書いたので(^_^;)
 条件付き書式でセル範囲を選択して、
「数式が」「=LARGE($A$1:$A$10,2)=A1」で「書式」を設定する。
 (データの全範囲の方は絶対参照、該当セルの方は相対参照とします)
 セル範囲と該当セルは適宜修正してください。  (Hatch)

純丸さんHatchさんありがとうございました。
純丸さんの方法だと全て赤色になってしまいました。おそらくどこかに「2番目」の条件が入るのかと思うのですが何処に入れればよいのですか?
またマクロボタンを使ってこの作業をしたいのですが出来ますでしょうか?

 =RANK(A1,$A$1:$A$10)=とし で=2 の2が貼り付ける際に切れたのでしょう。
 (川野鮎太郎)

出来ました。ありがとうございました。(OK)


 川野さん、フォローありがとうございます。OKさん、こちらのミスでお手数をおかけし、
 申し訳ありませんでした。(純丸)

 マクロで出来るとは思いますが、なさりたいことを順番にメモするなどして、
 マクロの記録でやってみましょう。
http://www6.plala.or.jp/MilkHouse/menu.html
 これを参考に頑張ってください。
 躓いたときにはわからない部分を、再度ここでご質問されると良いでしょう。
 (川野鮎太郎)

 ちょっと冷やかし。
 複数列は考えてません。
 但し複数のNo2は全て塗り潰しになります。
    (弥太郎)
 '------------------------
 Sub test()
    Dim tbl As Range
    Dim i As Integer, large2 As Integer

    Set tbl = Application.InputBox("No2を色づけする範囲をしていしてください", Type:=8)

    With tbl
        .Interior.ColorIndex = xlNone
        lage2 = WorksheetFunction.Match(WorksheetFunction.Large(tbl, 2), tbl, 0)
        If WorksheetFunction.CountIf(tbl, WorksheetFunction.Large(tbl, 2)) > 1 Then
            For i = 1 To .Rows.Count
                If .Cells(i, 1) = WorksheetFunction.Large(tbl, 2) Then
                    .Cells(i, 1).Interior.ColorIndex = 3
                End If
            Next i
        Else
            tbl.Cells(lage2, 1).Interior.ColorIndex = 3
        End If
    End With

 End Sub


コメント返信:

[ 一覧(最新更新順) ]


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