Перехват перехода в режим редактирования.
and_evg
Дата: Четверг, 06.04.2017, 08:54 |
Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 482
Репутация:
84
±
Замечаний:
0% ±
Excel 2007
Всем добрый день. Собственно вопрос - как перехватить момент перехода в режим редактирования ячейки? (ДаблКлик по ячейке, клавиша F2, строка формул). Идея что бы пользователь в определенном диапазоне мог вводить только через форму. Для ДаблКлик Вроде бы все понятно: [vba]Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("Диапазон")) Is Nothing Then UserForm1.Show Cancel = True End If End Sub
[/vba] но вот как для других?
Всем добрый день. Собственно вопрос - как перехватить момент перехода в режим редактирования ячейки? (ДаблКлик по ячейке, клавиша F2, строка формул). Идея что бы пользователь в определенном диапазоне мог вводить только через форму. Для ДаблКлик Вроде бы все понятно: [vba]Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("Диапазон")) Is Nothing Then UserForm1.Show Cancel = True End If End Sub
[/vba] но вот как для других? and_evg
Ответить
Сообщение Всем добрый день. Собственно вопрос - как перехватить момент перехода в режим редактирования ячейки? (ДаблКлик по ячейке, клавиша F2, строка формул). Идея что бы пользователь в определенном диапазоне мог вводить только через форму. Для ДаблКлик Вроде бы все понятно: [vba]Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("Диапазон")) Is Nothing Then UserForm1.Show Cancel = True End If End Sub
[/vba] но вот как для других? Автор - and_evg Дата добавления - 06.04.2017 в 08:54
nilem
Дата: Четверг, 06.04.2017, 09:50 |
Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация:
563
±
Замечаний:
0% ±
Excel 2013, 2016
например, установить защиту на определенные ячейки с параметром UserinterfaceOnly:=True т.е. изменять такие ячейки можно будет только программно
например, установить защиту на определенные ячейки с параметром UserinterfaceOnly:=True т.е. изменять такие ячейки можно будет только программно nilem
Яндекс.Деньги 4100159601573
Ответить
Сообщение например, установить защиту на определенные ячейки с параметром UserinterfaceOnly:=True т.е. изменять такие ячейки можно будет только программно Автор - nilem Дата добавления - 06.04.2017 в 09:50
and_evg
Дата: Четверг, 06.04.2017, 10:18 |
Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 482
Репутация:
84
±
Замечаний:
0% ±
Excel 2007
nilem , Спасибо за оперативный ответ, но к сожалению не подходит.
nilem , Спасибо за оперативный ответ, но к сожалению не подходит.and_evg
Ответить
Сообщение nilem , Спасибо за оперативный ответ, но к сожалению не подходит.Автор - and_evg Дата добавления - 06.04.2017 в 10:18
nilem
Дата: Четверг, 06.04.2017, 11:30 |
Сообщение № 4
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация:
563
±
Замечаний:
0% ±
Excel 2013, 2016
а так? [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Intersect(Target, Range("A1:D10")) Is Nothing Then Exit Sub With Application .EnableEvents = False .Undo .EnableEvents = True End With MsgBox "Используйте форму", 64 End Sub
[/vba] хотя с защитой было бы лучше
а так? [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Intersect(Target, Range("A1:D10")) Is Nothing Then Exit Sub With Application .EnableEvents = False .Undo .EnableEvents = True End With MsgBox "Используйте форму", 64 End Sub
[/vba] хотя с защитой было бы лучше nilem
Яндекс.Деньги 4100159601573
Ответить
Сообщение а так? [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Intersect(Target, Range("A1:D10")) Is Nothing Then Exit Sub With Application .EnableEvents = False .Undo .EnableEvents = True End With MsgBox "Используйте форму", 64 End Sub
[/vba] хотя с защитой было бы лучше Автор - nilem Дата добавления - 06.04.2017 в 11:30
and_evg
Дата: Четверг, 06.04.2017, 11:44 |
Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 482
Репутация:
84
±
Замечаний:
0% ±
Excel 2007
nilem , То же вариант. Но при этом дается возможность начать редактирование. Похоже верно, что лучше с защитой.
nilem , То же вариант. Но при этом дается возможность начать редактирование. Похоже верно, что лучше с защитой.and_evg
Ответить
Сообщение nilem , То же вариант. Но при этом дается возможность начать редактирование. Похоже верно, что лучше с защитой.Автор - and_evg Дата добавления - 06.04.2017 в 11:44
and_evg
Дата: Четверг, 06.04.2017, 12:01 |
Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 482
Репутация:
84
±
Замечаний:
0% ±
Excel 2007
Хммм... Но при защите выскакивает системное сообщение о защищенной ячейки и [vba]Код
Application.DisplayAlerts = False
[/vba] не помогает
Хммм... Но при защите выскакивает системное сообщение о защищенной ячейки и [vba]Код
Application.DisplayAlerts = False
[/vba] не помогает and_evg
Ответить
Сообщение Хммм... Но при защите выскакивает системное сообщение о защищенной ячейки и [vba]Код
Application.DisplayAlerts = False
[/vba] не помогает Автор - and_evg Дата добавления - 06.04.2017 в 12:01
nilem
Дата: Четверг, 06.04.2017, 16:52 |
Сообщение № 7
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация:
563
±
Замечаний:
0% ±
Excel 2013, 2016
Ну да, это и есть сообщение о том, что в этих ячейках нужно вводить данные не вручную, а ч/з форму. А как нужно?
Ну да, это и есть сообщение о том, что в этих ячейках нужно вводить данные не вручную, а ч/з форму. А как нужно? nilem
Яндекс.Деньги 4100159601573
Ответить
Сообщение Ну да, это и есть сообщение о том, что в этих ячейках нужно вводить данные не вручную, а ч/з форму. А как нужно? Автор - nilem Дата добавления - 06.04.2017 в 16:52