Kod VBA nie działa, gdy komórka jest zmieniana za pomocą formuły
Arkusz roboczy A ma zakresy danych, które są zbieraneArkusz roboczy B. Arkusz roboczy A ma makro, które oblicza, czy dane są powyżej wartości, a następnie wywołuje moduł e-mail, aby wysłać e-mail do wybranych użytkowników.
Gdy dane zostaną wprowadzone ręcznieArkusz roboczy A Makro działa, jednak gdy dane są pobieraneArkusz roboczy B nie strzela.
Nie jestem pewien, co muszę zmienić w moim kodzie VBA.
Private Sub Worksheet_Change(ByVal Target As Range)
Call MailAlert(Target, "B5:M5", 4)
Call MailAlert(Target, "B8:M8", 7)
Call MailAlert(Target, "B11:M11", 6)
Call MailAlert(Target, "B14:M14", 2)
Call MailAlert(Target, "B17:M17", 4)
Call MailAlert(Target, "B20:M20", 1)
Call MailAlert(Target, "B23:M23", 3)
Call MailAlert(Target, "B26:M26", 1)
Call MailAlert(Target, "B29:M29", 5)
Call MailAlert(Target, "B32:M32", 1)
Call MailAlert(Target, "B35:M35", 7)
Call MailAlert(Target, "B38:M38", 20)
Call MailAlert(Target, "B41:M41", 0)
End Sub
Private Sub MailAlert(ByVal Target As Range, ByVal Address As String, ByVal Value As Integer)
If Target.Cells.Count > 1 Then Exit Sub
If Not Application.Intersect(Range(Address), Target) Is Nothing Then
If IsNumeric(Target.Value) And Target.Value > Value Then
Call Mail_small_Text_Outlook
End If
Application.EnableEvents = True
End If
End Sub