Я новичок в VBA и мне нужна помощь в некотором базовом коде, если кто-то из вас может быть так добр.
Я пытаюсь создать Msgbox для заполнения, когда расчет в данной ячейке> 20% ИЛИ <-20%. </p>
Я могу получить Msgbox для заполнения, когда значение> 20%, например, 36%. Но когда я пытаюсь заставить код делать то же самое для <-20%, например -49%, окно приглашения не загружается. Я попробовал несколько вариантов кода без особой удачи. </p>
ЭТО РАБОТАЕТ ШТРАФ:
Sub Worksheet_Change(ByVal Target As Range)
Dim xCell As Range, Rg As Range
On Error Resume Next
Set Rg = Application.Intersect(Target, Range("P27"))
If Not Rg Is Nothing Then
For Each xCell In Rg
If xCell.Value >= "0.2" Then
VBA.MsgBox "You have exceeded the reportable reconciliation limit of +/- 20%." & VBA.Constants.vbNewLine & "Please email sales@XXXX " _
, vbOKOnly, "IMPORTANT MESSAGE"
Exit Sub
End If
Next
End If
End Sub
ЭТО НИЧЕГО НЕ ДЕЛАЕТ:
Sub Worksheet_Change(ByVal Target As Range)
Dim xCell As Range, Rg As Range
On Error Resume Next
Set Rg = Application.Intersect(Target, Range("P27"))
If Not Rg Is Nothing Then
For Each xCell In Rg
If xCell.Value <= "-0.2" Then 'This part is not executed properly
VBA.MsgBox "You have exceeded the reportable reconciliation limit of +/- 20%." & VBA.Constants.vbNewLine & "Please email sales@XXXX " _
, vbOKOnly, "IMPORTANT MESSAGE"
Exit Sub
End If
Next
End If
End Sub
На самом деле, когда я пытаюсь использовать код для чего-то <20, т.е. <code>If xCell.Value <= "-0.2", Msgbox не заполняется.