Страницы: 1
RSS
Интерактивная таблица, Отображение строк и значений в зависимости от сценария
 
Добрый всем день.

Столкнулся с необходимостью реализовать интерактивную таблицу (не уверен в точной формулировке).

Задача следующая:

Дано: есть матрица шаблонов и условий, типа:
Название поляСценарий 1Сценарий 2
Имяdata validation Scen   1 field 1data validation Scen   2 field 1
Фамилияdata validation Scen   1 field 2 -
Название   компанииdata validation Scen   1 field 3 -
Статус   резидентаdata validation Scen   1 field 4data validation Scen   2 field 4
номер счета -data validation Scen   2 field 5
уникальный   номер -data validation Scen   2 field 6
Доп. Параметрыdata validation Scen   1 field 7data validation Scen   2 field 7
тип оплатыdata validation Scen   1 field 8data validation Scen   2 field 8
где "Название поля" - это статический набор названий полей
а "data validation Scen Y field Z" - это определенное правило валидации (data validation) ячейки.


что нужно реализовать:

при наступлении Сценарий 1" (определяется отдельно) выводить следующую форму:
Имяdata validation   Scen 1 field 1
Фамилияdata validation Scen   1 field 2
Название   компанииdata validation Scen   1 field 3
Статус   резидентаdata validation Scen   1 field 4
Доп. Параметрыdata validation Scen   1 field 7
тип оплатыdata validation Scen   1 field 8
где будут отображаться только определенные Названия полей (для которых есть соответствующая ячейка в "data validation"), при этом рядом должно біть поле для ввода с определенным для этого сценария и этого поля  "Data Validation".

соответственно для "Сценарий 2"
Имяdata validation   Scen 2 field 1
Статус   резидентаdata validation Scen   2 field 4
номер счетаdata validation Scen   2 field 5
уникальный   номерdata validation Scen   2 field 6
Доп. Параметрыdata validation Scen   2 field 7
тип оплатыdata validation Scen   2 field 8
что важно реализовать
    1) в зависимости от сценария должен присутствовать разный набор полей
    2) в зависимости от сценария у полей должна быть разная "Data Validation"


буду рад любой помощи...
спасибо заранее :)
 
Здравствуйте.
Реализовать можно.
Можно макросом, можно формулами.
Был бы пример - можно было бы конкретное решение предложить.
А без примера - только общие замечания.
Кому решение нужно - тот пример и рисует.
 
Спасибо за отзыв! Вот пример того как мне видется реализация.
 
конечно, я могу просто тупо копировать макросом необходимые значения при наступлении условия:

If intertable.Cells(_____) = "Solution 1" Then
   Sheets("Sheet1").Select Range("______").Select
       Selection.copy
       Sheets("Sheet2").Select
   Range("A6").Select
   intertable.Paste
  End If

но есть ли более изящные решения? может с формами?

   
 
Михаил Дмитренко, если готовы разбираться с чужим кодом, то у меня есть подобная форма с динамическим наполнением лайблами, текстбоксами и батонами в составе небольшого проекта. Выпиливать ее для демонстрации не вариант. Так же есть настоечная таблица вида "сценарий"- "релевантные поля" - "Признак обязательности заполнения"

Если готовы, выложу доступ.
 
Цитата
Grr написал:
Михаил Дмитренко, если готовы разбираться с чужим кодом, то у меня есть подобная форма с динамическим наполнением лайблами, текстбоксами и батонами в составе небольшого проекта.
здравствуйте Grr, мне будет очень любопытно взглянуть на вашу форму! Заранее спасибо :)
 
Вот ссылка на файл. Запускаете. Он попробует обратиться к внешним данным, но в итоге должен заработать автономно. Нажмете далее. Затем на листе ввода информации о пользователе нажмите alt+2 (Так проще). Далее выберите любую группу процессов, любую группу операций, выберите любую роль. При выборе роли откроется форма. Вот именно она и есть динамическая. Настройка на листе "Data". Диапазон "OrgLevels".
Объект на уровне разработки - форма Options

UPD. Забыл сказать. Закрыть модальную форму - Alt+1
Изменено: Grr - 17.11.2015 12:38:21
 
Спасибо большое! Выглядит очень профессионально!
Изменено: Михаил Дмитренко - 17.11.2015 16:56:08
Страницы: 1
Читают тему
Наверх