• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:先般、下記のvbaのコーディング事例の回答を頂きました。 )

VBAでa列の点数をb列に表示させる方法とランク付けのvbaコーディング事例

このQ&Aのポイント
  • VBAを使用して、a列に点数を入力すると同時にb列に表示させる方法を教えてください。
  • a列に点数が入力された場合のみb列を表示させる方法はありますか?
  • a列に入力された点数に基づいてb列に自動的にランクを付けるvbaコーディングの例を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.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)
回答No.2

前回の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)
回答No.1

こんにちは。 標準モジュールを追加し次のようにしてください。 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

関連するQ&A