Пользовательская форма VBA не будет работать при вызове макросом - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть простой код, который должен вызывать пользовательскую форму (CorrectiveActions), когда пользователь вводит значение больше 2,5 в определенных ячейках.

Private Sub Worksheet_Change(ByVal target As Range)
If target.Count > 1 Then Exit Sub
If Not Application.Intersect(target, Me.Range("F11:F1292,K11:K1292,P11:P1292")) Is Nothing Then
    If target >= 2.5 And IsNumeric(target) And Intersect(target, Me.Range("K11:K1292")) Is Nothing Or target.Offset(0, 1) >= 2.5 And Intersect(target, Me.Range("F11:F1292,P11:P1292")) Is Nothing Then CorrectiveActions.Show
End If
End Sub

Пользовательская форма содержит список, и я хочу заполнить ячейку ниже той, где значение больше 2,5. Я использовал следующий код:

Private Sub ListBox1_Click()

Dim cellRow As Integer
Dim cellCol As Integer

cellRow = ActiveCell.Row
cellCol = ActiveCell.Column
Cells(cellRow, cellCol).Offset(1, 0).Value = ListBox1

End Sub

Эта пользовательская форма прекрасно работает, когда я запускаю ее вручную. Тем не менее, когда я ввожу значение больше 2,5 в указанной ячейке, пользовательская форма отображается, но не будет работать. То есть клетка не будет заполнена.

...