- ベストアンサー
VBAでa列の点数をb列に表示させる方法とランク付けのvbaコーディング事例
- VBAを使用して、a列に点数を入力すると同時にb列に表示させる方法を教えてください。
- a列に点数が入力された場合のみb列を表示させる方法はありますか?
- a列に入力された点数に基づいてb列に自動的にランクを付けるvbaコーディングの例を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 こんな感じでどうでしょうか? 'シートモジュール(シートタブを右クリック--コードの表示) '------------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) Dim Ret As Variant If Target.Column <> 1 Then Exit Sub If Target.Count > 1 Then Exit Sub If IsNumeric(Target.Value) = False Then Exit Sub Ret = RankLookUp(Target.Value) If Ret = 0 Then Exit Sub Application.EnableEvents = False Target.Offset(, 1).Value = Ret Application.EnableEvents = True End Sub Function RankLookUp(arg As Variant) As String Dim Data(10) Dim Chars(10) Dim i As Long, j As Long, k As Variant '除外項目 If IsNumeric(arg) = False Then Exit Function If arg < 0 Then RankLookUp = 0: Exit Function If arg > 100 Then RankLookUp = 0: Exit Function Data(10) = 95: Chars(10) = "ss" Data(0) = 0: Chars(0) = "j" For i = 50 To 90 Step 5 j = j + 1 Data(j) = i Chars(j) = Chr(106 - j) Next i On Error Resume Next k = Empty k = Application.Match(arg, Data, 1) On Error GoTo 0 If Not IsEmpty(k) Then RankLookUp = Chars(k - 1) End If End Function
その他の回答 (2)
- xls88
- ベストアンサー率56% (669/1189)
前回のURLを貼った方が質問内容の理解促進に役立ちます。 ≪前回質問≫ 今日からトライしているexcel vbaの初心者です。 http://oshiete1.goo.ne.jp/qa5577697.html 質問1と質問2を実現するには、シートのイベントプロシージャを利用します。 ≪参考≫ ワークシートのイベント http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_event.html 色々ありますが、Worksheet_Changeイベントが使えると思います。
- avanzato
- ベストアンサー率54% (52/95)
こんにちは。 標準モジュールを追加し次のようにしてください。 Option Explicit Sub Sample() Dim I As Integer Dim Ret As String For I = 1 To 100 Select Case Range("A" & I).Value Case Is >= 95 Ret = "SS" Case Is >= 90 Ret = "A" Case Is >= 85 Ret = "B" Case Is >= 80 Ret = "C" Case Is >= 75 Ret = "D" Case Is >= 70 Ret = "E" Case Is >= 65 Ret = "F" Case Is >= 60 Ret = "G" Case Is >= 55 Ret = "H" Case Is >= 50 Ret = "I" Case Else Ret = "J" End Select Range("B" & I).Value = Ret Next I End Sub