Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

27 Сентябрь 2020, 22:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Ограничение на ввод в ячейку в зависимости от значения в другой ячейки  (Прочитано 5889 раз)
0 Пользователей и 1 Гость смотрят эту тему.
bakusserg
Новичок
*
Offline Offline

Сообщений: 2


« Стартовое сообщение: 11 Май 2014, 20:43 »

Если в ячейке столбца B(фамилия) пусто, то при попытке ввода числа в ячейку столбца C,D или E в соответствующей строке, — запрет на ввод с выдачей сообщения о необходимости сначала заполнить ячейку в столбце фамилия. Желательно при этом, чтобы курсор автоматически переводился на ячейку в столбце B(фамилия). При этом в ячейки запрещено вводить 0 и отрицательные значения. Как это реализовать? , через проверку данных не получается. Документ во вложении.

* fio.ods (25.52 Кб - загружено 43 раз.)
Записан
celler
Форумчанин
***
Offline Offline

Сообщений: 191


« Ответ #1: 11 Май 2014, 22:33 »

Так?

* fio_1.ods (25.72 Кб - загружено 211 раз.)
Записан
bakusserg
Новичок
*
Offline Offline

Сообщений: 2


« Ответ #2: 12 Май 2014, 07:59 »

Да так, спасибо  Всё хорошо. Вот бы ещё курсор автоматически переводился в ячейку в столбце B(фамилия) при попытке ввода в ячейки C,D,E , если не заполнена фамилия.
Записан
celler
Форумчанин
***
Offline Offline

Сообщений: 191


« Ответ #3: 12 Май 2014, 18:22 »

У Вас ведь помимо требования относительно столбца B ещё и несколько условий по C3:E7:
1. число
2. >0
3. целое
Поэтому не всегда нужен переход в графу Фамилия, а иногда нужно остаться в C3:E7 и выдать соответствующее сообщение. Это нужно писать хитрый макрос, обрабатывающий все возможные ситуации.
Записан
luu
Участник
**
Offline Offline

Сообщений: 48


« Ответ #4: 13 Декабрь 2019, 12:19 »

А есть ли какая-то возможность ограничить вставку значений копипастом?
Очень часто бывает так, что делаешь форму для заполнения с выпадающими списками, проверкой по условиям, предупреждениями при неверных данных. А в итоге умный пользователь просто вставляет откуда-нибудь значение при помощи Ctrl+C -> Ctrl+V и вся форма ломается
Записан
economist
Форумчанин
***
Offline Offline

Сообщений: 1 264


« Ответ #5: 13 Декабрь 2019, 12:40 »

Если через Ctrl+V вставлено легальное значение - это нормально. Функционал проверки данных невсесилен. Кто-то считает умным блокировать/переназначить на "ничто" сочетание Ctrl+V, но это оо...очень некрасиво. Я бы с такой конторой не ужился. Если люди копируют откуда-то - значит "оно" уже где-то есть, и может есть смысл нстроить авто-обмен? 

Против "самых умных" пользователей (они могут и макросом значения вставлять, Ctrl+V им не нужен) - нужно делать "финальную" валидацию, скажем по кнопке внизу "формы". Примерно 90% контроля можно реализовать "итоговой" формулой, а на 10% нужен макрос.   
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
luu
Участник
**
Offline Offline

Сообщений: 48


« Ответ #6: 13 Декабрь 2019, 14:49 »

Если через Ctrl+V вставлено легальное значение - это нормально. Функционал проверки данных невсесилен. Кто-то считает умным блокировать/переназначить на "ничто" сочетание Ctrl+V, но это оо...очень некрасиво. Я бы с такой конторой не ужился. Если люди копируют откуда-то - значит "оно" уже где-то есть, и может есть смысл нстроить авто-обмен? 

Против "самых умных" пользователей (они могут и макросом значения вставлять, Ctrl+V им не нужен) - нужно делать "финальную" валидацию, скажем по кнопке внизу "формы". Примерно 90% контроля можно реализовать "итоговой" формулой, а на 10% нужен макрос.   
В том-то и дело, что против легальных значений никто против ничего не имеет. Пусть даже в кривом форматировании.
Но именно через Ctrl+V умудряются вставить "нелегалов".
Сейчас это валидируется соседним столбцом с формулами для проверки каждой ячейки. но особо упоротым пользователям это ничуть не мешает отправлять заполненные неликвидом формы.

Во вложении пример.
Обычно на такой форме включена защита листа, а с ячеек С2:С58 защита снята, чтобы пользователь вносил данные.
Выбор значений реализован через Данные -> Проверка

Тут показано, как пользователь вставил неликвидное значение в C3, путем копирования.
Проблема в том, что теперь выпадающий список в этой ячейке пропал и нет возможности дать пользователю выбор правильного значения.

Здесь для примера все они одинаковые, но в реальности список допустимых значений не повторяется в ячейках и сам список может быть довольно большим.
Поэтому и вопрос в том, чтобы либо проверять вставляемое значение до вставки и не позволять вставлять неликвид, либо сообщать о том, что вставлен неликвид (что сейчас и делается в соседнем столбце), но позволять исправить свою ошибу (а вот к этому уже вернуться не получается, потому что настройки "Проверка..." уже удалены из ячейки)


* Карточка.ods (25.92 Кб - загружено 7 раз.)
Записан
mikekaganski
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 2 043


« Ответ #7: 13 Декабрь 2019, 15:00 »

Вы говорите не о вставке значений в  ячейки, а о копировании другой ячейки и фактической замене имеющейся ячейки с валидацией другой при вставке? Это не запретить; надо писать запрос в багтрекер...
Записан

С уважением,
Михаил Каганский
luu
Участник
**
Offline Offline

Сообщений: 48


« Ответ #8: 13 Декабрь 2019, 15:14 »

Вы говорите не о вставке значений в  ячейки, а о копировании другой ячейки и фактической замене имеющейся ячейки с валидацией другой при вставке? Это не запретить; надо писать запрос в багтрекер...
Да, все верно. Вопрос именно в копировании.
Очень жаль, что это пока непобедимо Грустный
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!