День добрый, помоги с условием, не сравнивает значение
[vba][code][/code][/vba][sub] Private Sub TextBox12_Change() If TextBox12.Value >= Cells(6, 42) And TextBox12.Value <= Cells(6, 43) Or TextBox12.Value = "" Then TextBox12.BackColor = RGB(0, 255, 0) Else TextBox12.BackColor = RGB(255, 0, 0) End If End Sub
День добрый, помоги с условием, не сравнивает значение
[vba][code][/code][/vba][sub] Private Sub TextBox12_Change() If TextBox12.Value >= Cells(6, 42) And TextBox12.Value <= Cells(6, 43) Or TextBox12.Value = "" Then TextBox12.BackColor = RGB(0, 255, 0) Else TextBox12.BackColor = RGB(255, 0, 0) End If End SubSerg73
Serg73, Вы не любите отвечать в темах . В предыдущей тоже самое Вам ответили нужен файл в ответ тишина http://www.excelworld.ru/forum/10-37611-1 Теперь опять обрывок кода. Как его проверить??? Создать самому форму и проверить работоспособность кода?
Serg73, Вы не любите отвечать в темах . В предыдущей тоже самое Вам ответили нужен файл в ответ тишина http://www.excelworld.ru/forum/10-37611-1 Теперь опять обрывок кода. Как его проверить??? Создать самому форму и проверить работоспособность кода? parovoznik
Проблема в том, что в текстбоксе число находится визуально в виде числа, но VBA считает его текстом. Затем происходит сравнение числа в виде текста с числом в виде числа, что приводит к неожиданному результату.
[vba]
Код
Private Sub TextBox12_Change() If TextBox12.Value = "" Then TextBox12.BackColor = RGB(0, 255, 0) ElseIf CDbl(TextBox12.Value) >= Range("AP6").Value And CDbl(TextBox12.Value) <= Range("AQ6").Value Then TextBox12.BackColor = RGB(0, 255, 0) Else TextBox12.BackColor = RGB(255, 0, 0) End If End Sub
[/vba]
PS. Исправьте Ваш первый пост, вставьте макрос внутрь тега.
Проблема в том, что в текстбоксе число находится визуально в виде числа, но VBA считает его текстом. Затем происходит сравнение числа в виде текста с числом в виде числа, что приводит к неожиданному результату.
[vba]
Код
Private Sub TextBox12_Change() If TextBox12.Value = "" Then TextBox12.BackColor = RGB(0, 255, 0) ElseIf CDbl(TextBox12.Value) >= Range("AP6").Value And CDbl(TextBox12.Value) <= Range("AQ6").Value Then TextBox12.BackColor = RGB(0, 255, 0) Else TextBox12.BackColor = RGB(255, 0, 0) End If End Sub
[/vba]
PS. Исправьте Ваш первый пост, вставьте макрос внутрь тега.Karataev