投稿/コメントを表示します。

小川先生

最大値が複数存在した場合についてのコードを投稿します。
よろしくお願いします。

【課題を以下の通り、設定しています。】
 問題[1] 一番得点の高い人が複数いた場合でも抽出可能にする
 問題[2] 残業時間が一番多い人が複数いた場合でも抽出可能にする
 問題[3] 残業時間が一番多い人が複数いた場合でも抽出可能にする
'**************************************************************
'問題[1] 一番得点の高い人が複数いた場合でも抽出可能にする
'**************************************************************

Sub katinuki()
    
    Dim gyou As Long
    Dim kati As Long
    
    '処理1
    kati = 2
    For gyou = 2 To 11
        If Range("G" & kati).Value < Range("G" & gyou).Value Then
            kati = gyou
        End If
    Next gyou
'    Range("J" & kati).Value = "最高点です" '←不要かも

    '処理2
    For gyou = 2 To 11
        If Range("G" & kati).Value = Range("G" & gyou).Value Then
            Range("J" & gyou).Value = "最高点です"
        End If
    Next gyou
End Sub

'**************************************************************
'問題[2] 残業時間が一番多い人が複数いた場合でも抽出可能にする
'**************************************************************

Sub kati2()

    Dim gyou As Long
    Dim Migi As Long
    Dim kati As Long
    
    '処理1
    kati = 6
    Migi = 4
    For gyou = 6 To 33
        If Range("C" & kati).Value < Range("C" & gyou).Value Then
            kati = gyou
        End If
    Next gyou
'    Range("K" & Migi).Value = Range("B" & kati).Value '←不要かも
'    Range("L" & Migi).Value = Range("C" & "5").Value  '←不要かも
'    Range("M" & Migi).Value = Range("C" & kati).Value  '←不要かも
   
    '処理2
    For gyou = 6 To 33
        If Range("C" & kati).Value = Range("C" & gyou).Value Then
            Range("K" & Migi).Value = Range("B" & gyou).Value
            Range("L" & Migi).Value = Range("C" & "5").Value
            Range("M" & Migi).Value = Range("C" & gyou).Value
            Migi = Migi + 1
        End If
    Next gyou
End Sub

'**************************************************************
'問題[3] 残業時間が一番多い人が複数いた場合でも抽出可能にする
'**************************************************************

Sub kati3()
    
    Dim gyou
    Dim Migi As Long '追加
    Dim kati
    Dim retu
    Migi = 4 '追加
    
    retu = "C"
    kati = 6
    
    '処理1
    For gyou = 6 To 33
        If Range(retu & kati).Value < Range("C" & gyou).Value Then
            retu = "D"
            kati = gyou
        End If
    Next gyou
    
    For gyou = 6 To 33
        If Range(retu & kati).Value < Range("D" & gyou).Value Then
            retu = "D"
            kati = gyou
        End If
    Next gyou
    
    For gyou = 6 To 33
        If Range(retu & kati).Value < Range("E" & gyou).Value Then
            retu = "E"
            kati = gyou
        End If
    Next gyou
    
    For gyou = 6 To 33
        If Range(retu & kati).Value < Range("F" & gyou).Value Then
            retu = "F"
            kati = gyou
        End If
    Next gyou
    
    For gyou = 6 To 33
        If Range(retu & kati).Value < Range("G" & gyou).Value Then
            retu = "G"
            kati = gyou
        End If
    Next gyou
    
    For gyou = 6 To 33
        If Range(retu & kati).Value < Range("H" & gyou).Value Then
            retu = "H"
            kati = gyou
        End If
    Next gyou
    
'    Range("K" & Migi).Value = Range("B" & kati).Value '←不要かも
'    Range("L" & Migi).Value = Range(retu & "5").Value '←不要かも
'    Range("M" & Migi).Value = Range(retu & kati).Value '←不要かも
    
    '処理2
    For gyou = 6 To 33
        If Range(retu & kati).Value = Range("C" & gyou).Value Then
            Range("K" & Migi).Value = Range("B" & gyou).Value
            Range("L" & Migi).Value = Range("C" & "5").Value
            Range("M" & Migi).Value = Range("C" & gyou).Value
            Migi = Migi + 1
        End If
    Next gyou

    For gyou = 6 To 33
        If Range(retu & kati).Value = Range("D" & gyou).Value Then
            Range("K" & Migi).Value = Range("B" & gyou).Value
            Range("L" & Migi).Value = Range("D" & "5").Value
            Range("M" & Migi).Value = Range("D" & gyou).Value
            Migi = Migi + 1
        End If
    Next gyou

    For gyou = 6 To 33
        If Range(retu & kati).Value = Range("E" & gyou).Value Then
            Range("K" & Migi).Value = Range("B" & gyou).Value
            Range("L" & Migi).Value = Range("E" & "5").Value
            Range("M" & Migi).Value = Range("E" & gyou).Value
            Migi = Migi + 1
        End If
    Next gyou

    For gyou = 6 To 33
        If Range(retu & kati).Value = Range("F" & gyou).Value Then
            Range("K" & Migi).Value = Range("B" & gyou).Value
            Range("L" & Migi).Value = Range("F" & "5").Value
            Range("M" & Migi).Value = Range("F" & gyou).Value
            Migi = Migi + 1
        End If
    Next gyou

    For gyou = 6 To 33
        If Range(retu & kati).Value = Range("G" & gyou).Value Then
            Range("K" & Migi).Value = Range("B" & gyou).Value
            Range("L" & Migi).Value = Range("G" & "5").Value
            Range("M" & Migi).Value = Range("G" & gyou).Value
            Migi = Migi + 1
        End If
    Next gyou

    For gyou = 6 To 33
        If Range(retu & kati).Value = Range("H" & gyou).Value Then
            Range("K" & Migi).Value = Range("B" & gyou).Value
            Range("L" & Migi).Value = Range("H" & "5").Value
            Range("M" & Migi).Value = Range("H" & gyou).Value
            Migi = Migi + 1
        End If
    Next gyou
End Sub

2017/02/05 23:09