Доброго времени суток дорогие форумчане, обращаюсь к вам за помощью в решении комплексной задачи. Мною била разработана форма листа (прикреплен ниже). В ней содержится довольно много условий которые срабатывают при заполнении листа. Лист заполняется разними людьми. Прямая задача – обеспечить интуитивно понятный интерфейс (чтобы каждому не раздавать инструкции к заполнению). В листе присутствуют два макроса: первый выравнивает текст по условию (на листе), второй (на открытие книги) защищает лист с паролем «1212» но при этом разрешает пользоваться группировкой. Для полного счастья не хватает несколько функций:
1. Авто группирование строк по критерию в колонке «В» «СУМА» - группировать нужно строчки выше, так чтобы строка СУМА била з «+». Количество верхних строк для группировки можно достать из ячейки на пересечении столбца Х и строки с содержанием «СУМА» в столбце «В». Функция должна работать в нескольких направлениях - при удалении содержимого «СУМА» ячейки в столбце В или замене его на любое другое, группировка должна пересчитываться с учетом обновленных цифр в столбце «Х». (Вручную группировка невозможна так как лист защищен).
2. Автопротягивание формул: формулы в столбцах «J, H, I, W, X, Y, Z» необходимо протягивать автоматически при заполнении ячеек в столбце «В», причем протягиваться должны до последней непустой клетки в столбце «В», то есть с учетом того что над последним значением в столбце «В» могут бить пустые строки.
3. Автоматическое блокирование непустых ячеек в диапазоне «C…F» и «I…S» по столбцах, и "диапазоне суммирования" по строках, плюс ячейку в столбце "А" напротив значения "СУМА" в столбце "В" (число предыдущих строк которые нужно суммировать можно достать из столбца "X" в строке со значением "СУМА" в колонке "В")(колонка "Х" просто считает количество предыдущих ячеек которые подлежат суммированию при добавлении значения "СУМА" в ячейку в столбце "В", можно увидеть проанализировав формулу "ДО ОПЛАТИ"), например (из файла) когда ячейка "В9" наполняется значением "СУМА"(СИНИЙ ТЕКСТ в файле), блокировки подлежат ячейки в диапазонах "C3:F8" и "I3:S8" и "А9" (КРАСНИЙ ТЕКСТ в файле) (при условие что они не пустые!), если они пустые, их нужно заблокировать после заполнения (ВАЖНО "заполнения" а не изменения, так как при нажатии клавиши DEL происходит изменение ячейки и как следствие блокированная пустая клетка), количество предыдущих строк которые суммируются можно извлечь из ячейки «Х9» (СИНЯЯ ЗАЛИВКА в файле).
4. Добавить защиту от вставки в ячейку значений путем CTRL+V из других файлов EXCEL. Это приведет к копированию формата (цвет заливки шрифт, правила форматирования) ячейки - что крайне ненужно. Но ВАЖНО оставить возможность вставлять значения ячеек путем копирования ячейки из другого файла и вставки в существующий "вставкой содержимого". Я думаю это можно реализовать просто запретив пользователю влиять на форматирование, однако нужно не мешать форматированию файла самому Екселю, так как все форматирование завязано на правилах, плюс есть небольшой макрос выравнивающий текст со значением "СУМА".
Прошу прощения за объединение нескольких вопросов в одной теме (если нужно я все разделю). К сожалению, в VBA ничего не понимаю и потом объединить все в один VBA код просто несмогу.
Заранее благодарен за ваше внимание!!!
Очень надеюсь на вашу помощь!!!