Vba 更改另一个单元格的值

Vba 更改另一个单元格的值,vba,excel,Vba,Excel,我正在寻找Excel Vba代码,根据另一个单元格的值直接显示某个单元格中的某个文本,让我详细说明一下。该表如下: 我将在A列输入A3:A13单元格中的分数 代码必须自己打印相应的注释,如if a1-优秀if a2-优秀 此代码必须适用于范围为40级的条目 以下代码将继续执行,直到在a列中找到尚未评分的学生: Sub gradeComments() Dim grade As String, comment As String Dim i As Integer i =

我正在寻找Excel Vba代码,根据另一个单元格的值直接显示某个单元格中的某个文本,让我详细说明一下。该表如下:

我将在A列输入A3:A13单元格中的分数 代码必须自己打印相应的注释,如if a1-优秀if a2-优秀 此代码必须适用于范围为40级的条目
以下代码将继续执行,直到在a列中找到尚未评分的学生:

Sub gradeComments()

    Dim grade As String, comment As String
    Dim i As Integer

    i = 3 ' your starting row

    Do While i > 0

      grade = Range("A" & i).Value

      If grade = "a1" Then
         comment = "Excellent"
      ElseIf grade = "a2" Then
         comment = "Good work"
      ElseIf grade = "b1" Then
         comment = "Satisfactory"
      ElseIf grade = "b2" Then
         comment = "Work harder"
      End If

      If grade = vbNullString Then
        Exit Do
      Else
        Range("B" & i) = comment
        i = i + 1
      End If
    Loop
End Sub

在这种情况下,我建议您使用VLOOKUP。在一张表中维护分数和注释,在另一张表中输入你的分数,与你的分数相关的注释将使用VLOOKUP公式自动填充。paresh j-VLOOKUP,在这种情况下不起作用,我想,但当我执行此代码时,它会为一年级留下注释!!谢谢@miqi180如果第一个条目在A3单元,我会按照它应该的方式工作。否则,只需将i=您的起始行设置为2。
Sub gradeComments()

    Dim grade As String, comment As String
    Dim i As Integer

    i = 3 ' your starting row

    Do While i > 0

      grade = Range("A" & i).Value

      If grade = "a1" Then
         comment = "Excellent"
      ElseIf grade = "a2" Then
         comment = "Good work"
      ElseIf grade = "b1" Then
         comment = "Satisfactory"
      ElseIf grade = "b2" Then
         comment = "Work harder"
      End If

      If grade = vbNullString Then
        Exit Do
      Else
        Range("B" & i) = comment
        i = i + 1
      End If
    Loop
End Sub