2015-03-17 6 views
0

Я ищу код Excel-Vba, чтобы отображать определенный текст в определенной ячейке, основываясь на значении другой ячейки, позвольте мне уточнить. Таблица будет выглядеть следующим образом:Изменение значения другой ячейки

  1. Я ввод сорта в колонке А говорят, из ячеек A3: A13
  2. код должен напечатать соответствующий комментарий по себе, как если a1 - отлично, если a2 - хорошо работа
  3. Этот код должен работать для ввода диапазона говорят записи 40 класса

 
Grades ------   Comments 
a1  ------   excellent 
b2  ------   work harder 
a1  ------   excellent 
b1  ------   satisfactory 
a2  ------   good work

+2

В этом случае я предлагаю вам использовать VLOOKUP. Поддерживайте оценки и комментарии на одном листе и вводите свои оценки на другом листе, а комментарии, относящиеся к вашему классу, будут автоматически заполняться с использованием формулы VLOOKUP. –

+0

paresh j - VLOOKUP, не работает в этом случае, я думаю, – Justus

ответ

0

следующий код продолжается до тех пор, пока не найдет студента в колонке а, не б een graded:

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 
+0

, но когда я выполняю этот код, некоторые из них оставляют комментарий для первого класса !! Спасибо @ Miqi180 – Justus

+0

Если первая запись находится в ячейке A3, она работает как надо. В противном случае просто установите i = стартовую строку (возможно, 2). – Miqi180

Смежные вопросы