powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Событие - ушел с ячейки.
3 сообщений из 3, страница 1 из 1
Событие - ушел с ячейки.
    #34335859
Zalagaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, вот такая ситуация

есть функция проверки правильности ввода электронной почты в ячейку

Она наступает по событию WorkSheet_Change и нормально работает, НО

когда стали проверять, оказалось, что не все люди в концее ввода нажимают Enter
Кто-то нажимает кнопку влево, кто-то вправо, кто-то просто мышкой в сторону... и событие не наступает.. вернее я сделал так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Private Sub Worksheet_Change(ByVal Target As Range)
  
  mycolumn = Target.Column
  myrow = Target.Row
    
  If Cells(myrow, mycolumn) = "" Then
   ' Exit Sub
  End If
  If mycolumn =  12  Then
  
       If Check_mail(Cells(myrow, mycolumn)) Then
       Else
'            MsgBox ("Please, enter correct E-mail address")
            Cells(myrow, mycolumn) = ""
            Cells(myrow, mycolumn).Select
       End If
  End If

Что если чел ввел неверно, то ячейка должна обнулиться, и снова происходит ввод. А у меня получается, что если чел после ввода почты нажал кнопку влево, то у меня там срабатывает другая функция и все идут не так..
...
Рейтинг: 0 / 0
Событие - ушел с ячейки.
    #34335902
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Событие - ушел с ячейки.
    #34335957
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то я не понял проблемы
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column =  12  And Target <> "" Then
       If Not Check_mail(Target) Then
            MsgBox ("Please, enter correct E-mail address")
            Target = ""
            Target.Select
       End If
  End If
End Sub

Function Check_mail(Target As Range) As Boolean
    If Target Like "*@*.*" Then Check_mail = True
End Function
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Событие - ушел с ячейки.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]