Я довольно новичок в VBA, но до сих пор я иду. До этого момента, когда я застрял с этим вызовом.Excel VBA - изменение событий не работает
Моя цель - выбрать процент (10, 90 или 100) из выпадающего меню в ячейке в столбцах B, C, D или E и когда выбран один из процентов, я хочу, чтобы одна и та же ячейка вычислить выбранный процент значения в столбце A.
Итак, когда ячейка в столбце A имеет значение «500» и в той же строке в столбце CI выберите «90», я хочу, чтобы 90 было заменено на 450 (0,9 * 500)
Код, приведенный здесь, у меня есть до сих пор, в том числе некоторый код, уже «заимствованный» из другой темы. Хотя он работает в новом, чистом листе Excel, он не будет работать в документе, где я хочу, чтобы он работал.
У некоторых из вас есть идеи, где можно обнаружить недостатки? (я даже создал CommandButton только задачу: Application.EnableEvents = True)
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Whoa
If Not Intersect(Target, Range("B:D")) Is Nothing Then
Application.EnableEvents = False
If Target.Value = 90 Then Target.Value = 0.9 * Cells(Target, 1).Value
ElseIf Target.Value = 10 Then Target.Value = 0.1 * Cells(Target, 1).Value
ElseIf Target.Value = 100 Then Target.Value = Cells(Target, 1).Value
Else
MsgBox "Not a valid percentage"
End If
Letscontinue:
Application.EnableEvents = True
Exit Sub
Whoa:
MsgBox Err.Description
Resume Letscontinue
End Sub
YOu говорят, что это Безразлично Не работай. Что конкретно не работает? Вы получили сообщение об ошибке? Неожиданные результаты? Опишите проблему, о которой вы говорите, более подробно. –
Если вы добавили этот код только к листу, тогда только изменения на этом листе будут запускать ваш код. Это дубликат http://stackoverflow.com/questions/10474356/vba-worksheet-change-event? – km1