Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перехват клавиши Delete просто в листе (ФОРМЫ НЕТ) - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Перехват клавиши Delete просто в листе (ФОРМЫ НЕТ) (Формулы/Formulas)
Перехват клавиши Delete просто в листе (ФОРМЫ НЕТ)
Al_brutal Дата: Вторник, 26.09.2017, 23:45 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день!
Следующее задание:Создать инструмент для возможности внесения персональных данных в таблицу. Вся работа в Excel, работать с документом будут по всей стране люди с разным опытом работы с офисными приложениями и на разных аппаратных мощностях. Попытался максимально навешать условий на вводимые данные (чтобы юзверю меньше было возможностей на косарезы) и сделать всё без применения форм, а лишь с использованием инструментов:
1) "Данные"->"Проверка данных"
2) макроса в основном Worksheet_Change.

Получилось следующее - в документе 2 листа.
На первом листе в первом столбике хранятся порядка 100 характеристик работника (от личных данных до его перемещений по карьерной лестнице)
во втором столбике пустые ячейки с различными условиями для ввода характеристик (реализовано с помощью инструментов, описанных выше)
в самом низу под таблицей кнопка "Добавить запись"
На втором листе таблица с первого листа транспонирована горизонтально = характеристики (1я строка) и данные людей (со 2й и так далее строки). Соответственно сюда данные попадают после нажатия на первом листе кнопки "Добавить запись".

Проблема Обнаружился момент-если на первом листе оператор ввёл данные с ошибкой, увидел это и нажал на Delete, то макрос Worksheet_Change логично определяет это действие как изменение в ячейке и соответственно отрабатывает все заложенные в алгоритме условия if ... then .... end if.
Вопрос Каким образом без формы, а лишь с голым по сути листом, мне перехватить нажатие Delete, чтобы закинуть его в условие отработки/неотработки if ... then .... end if? (повторюсь формы нет)
 
Ответить
СообщениеДобрый день!
Следующее задание:Создать инструмент для возможности внесения персональных данных в таблицу. Вся работа в Excel, работать с документом будут по всей стране люди с разным опытом работы с офисными приложениями и на разных аппаратных мощностях. Попытался максимально навешать условий на вводимые данные (чтобы юзверю меньше было возможностей на косарезы) и сделать всё без применения форм, а лишь с использованием инструментов:
1) "Данные"->"Проверка данных"
2) макроса в основном Worksheet_Change.

Получилось следующее - в документе 2 листа.
На первом листе в первом столбике хранятся порядка 100 характеристик работника (от личных данных до его перемещений по карьерной лестнице)
во втором столбике пустые ячейки с различными условиями для ввода характеристик (реализовано с помощью инструментов, описанных выше)
в самом низу под таблицей кнопка "Добавить запись"
На втором листе таблица с первого листа транспонирована горизонтально = характеристики (1я строка) и данные людей (со 2й и так далее строки). Соответственно сюда данные попадают после нажатия на первом листе кнопки "Добавить запись".

Проблема Обнаружился момент-если на первом листе оператор ввёл данные с ошибкой, увидел это и нажал на Delete, то макрос Worksheet_Change логично определяет это действие как изменение в ячейке и соответственно отрабатывает все заложенные в алгоритме условия if ... then .... end if.
Вопрос Каким образом без формы, а лишь с голым по сути листом, мне перехватить нажатие Delete, чтобы закинуть его в условие отработки/неотработки if ... then .... end if? (повторюсь формы нет)

Автор - Al_brutal
Дата добавления - 26.09.2017 в 23:45
Shurf Дата: Среда, 27.09.2017, 01:36 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 40
Репутация: 8 ±
Замечаний: 0% ±

Excel 2010
Al_brutal, Сделайте проверку типа
[vba]
Код
If Target = "" Then exit sub
[/vba]

Кросс


Сообщение отредактировал Shurf - Среда, 27.09.2017, 02:30
 
Ответить
СообщениеAl_brutal, Сделайте проверку типа
[vba]
Код
If Target = "" Then exit sub
[/vba]

Кросс

Автор - Shurf
Дата добавления - 27.09.2017 в 01:36
nilem Дата: Среда, 27.09.2017, 07:16 | Сообщение № 3
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Al_brutal, привет
попробуйте добавить в Worksheet_Change вот такие условия (в самом начале)
[vba]
Код
If Target.Count > 1 Then Exit Sub
If Len(Target) = 0 Then Exit Sub
[/vba]
[p.s.]Раздел не для прямых ответов, но решение очевидное и простое (если правильно понял)[/p.s.]
[moder]Ответ перенесла из темы-дубля во фрилансе[/moder]


Яндекс.Деньги 4100159601573

Сообщение отредактировал Pelena - Среда, 27.09.2017, 08:15
 
Ответить
СообщениеAl_brutal, привет
попробуйте добавить в Worksheet_Change вот такие условия (в самом начале)
[vba]
Код
If Target.Count > 1 Then Exit Sub
If Len(Target) = 0 Then Exit Sub
[/vba]
[p.s.]Раздел не для прямых ответов, но решение очевидное и простое (если правильно понял)[/p.s.]
[moder]Ответ перенесла из темы-дубля во фрилансе[/moder]

Автор - nilem
Дата добавления - 27.09.2017 в 07:16
RAN Дата: Среда, 27.09.2017, 20:53 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Цитата
Модератор:
Тему закрываю, так как дубль. Ответ переношу во вторую тему

А вот не правильно!!!
Нужно было эту тему закрыть!


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Цитата
Модератор:
Тему закрываю, так как дубль. Ответ переношу во вторую тему

А вот не правильно!!!
Нужно было эту тему закрыть!

Автор - RAN
Дата добавления - 27.09.2017 в 20:53
Pelena Дата: Среда, 27.09.2017, 21:03 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 19181
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Зачем нам тема во фрилансе с уже выложенными решениями?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗачем нам тема во фрилансе с уже выложенными решениями?

Автор - Pelena
Дата добавления - 27.09.2017 в 21:03
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Перехват клавиши Delete просто в листе (ФОРМЫ НЕТ) (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!