2

Я пробую свои силы в VBA.

У меня есть заявление, в котором говорится:

Sub PM()

Set rn = ActiveWindow.VisibleRange.Cells(1, 1)
Application.ScreenUpdating = False
'If Not Intersect(Target, Range("C27")) Is Nothing Then
If Range("C27") = 3 Then
ActiveSheet.Shapes("Option Button 28").Select
Selection.Enabled = False
If Range("J57") < 455 Then
Range("J56") = False
Else
Range("J56") = True
End If
Else
ActiveSheet.Shapes("Option Button 28").Select
Selection.Enabled = True
End If
rn.Activate
Application.ScreenUpdating = True

End Sub

Когда я изменяю ячейку C27, значение, переданное в ячейку J56, работает отлично. Но как только значение в C27 выбрано, и я изменяю ячейку J57, J56 не изменяется соответственно, как должно. Я должен изменить значение C27 снова, чтобы вызвать J56, чтобы отразить правильное значение.

Кто-нибудь может указать, что я делаю не так?

1 ответ1

2

Здесь я угадываю, но я ожидаю, что вы вызываете этот код с события, запущенного только на c27, поэтому, если вы редактируете j57, функция /sub не вызывается.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .