Вместо события изменения книги попробуйте событие изменения ComboBox, например:
Private Sub ComboBox1_Change()
If Sheet1.ComboBox1.Value = "Soccer" Or Sheet1.ComboBox1.Value = "Tennis" Then
Worksheets("Sheet1").Range("A1").Value = "This learner Plays Sport"
End If
End Sub
Чтобы попасть на это событие изменения, просто дважды щелкните на комбинированном ящике на рабочем листе, и он откроет для вас редактор VBA.
Это только говорит о том, что является новым выбранным значением.Если вам нужно знать, что было до изменения, это будет немного сложнее.Вам нужно создать переменную для хранения / отслеживания значения для сравнения с измененным.
Если у вас длинный список видов спорта, я бы предложил использовать Select Case
вместоесли заявления.Например:
Private Sub ComboBox1_Change()
Select Case Sheet1.ComboBox1.Value
Case "Soccer", "Tennis"
Worksheets("Sheet1").Range("A1").Value = "This learner Plays Sports"
Case "Lacross"
Worksheets("Sheet1").Range("A1").Value = "Something Different"
Case Else
Debug.Print "value not in list"
End Select
End Sub