This media is not supported in your browser
VIEW IN TELEGRAM
Первый пост нового формата - #НепростыеЗадачи !
Возник вопрос, как сделать динамический выпадающий список, из которого будет исчезать значение, которое вы уже использовали.
Наша процедура будет срабатывать каждый раз, когда что-то меняется на рабочем листе (Worksheet_Change).
С помощью Range.Find определяем, было ли значение уже использовано (т.е. можно ли его найти - Find - в исходном списке).
Затем используем Range.Validation, чтобы программно подключить “Проверку данных” (с вкладки “Данные”). Тип проверки - xlValidateList, Formula1 - неиспользованные значения через запятую, а значение InCellDropdown равно True.
Возник вопрос, как сделать динамический выпадающий список, из которого будет исчезать значение, которое вы уже использовали.
Наша процедура будет срабатывать каждый раз, когда что-то меняется на рабочем листе (Worksheet_Change).
С помощью Range.Find определяем, было ли значение уже использовано (т.е. можно ли его найти - Find - в исходном списке).
Затем используем Range.Validation, чтобы программно подключить “Проверку данных” (с вкладки “Данные”). Тип проверки - xlValidateList, Formula1 - неиспользованные значения через запятую, а значение InCellDropdown равно True.
👍40
Media is too big
VIEW IN TELEGRAM
Новая непростая задача 💡
На одном листе - общий реестр оценок школьников, куда добавляют запись с датой, ФИО и оценкой по предмету/предметам.
Остальные листы - это “сводки” по предметам (дата, ФИО и оценка).
Задача: после добавления записи в реестр (на одном листе), обновлять “сводку” по предмету (на другом листе).
Реализация: на видео.
#НепростыеЗадачи
На одном листе - общий реестр оценок школьников, куда добавляют запись с датой, ФИО и оценкой по предмету/предметам.
Остальные листы - это “сводки” по предметам (дата, ФИО и оценка).
Задача: после добавления записи в реестр (на одном листе), обновлять “сводку” по предмету (на другом листе).
Реализация: на видео.
#НепростыеЗадачи
🔥17👍6
This media is not supported in your browser
VIEW IN TELEGRAM
А теперь усложним последнюю задачу. Представим, что есть столбец с именами студентов и несколько столбцов с оценками по разным предметам. В выпадающем списке под таблицей хранятся имена студентов.
Задача. Нужно выбрать имя и вывести средний балл.
Сложность. Сделать без кода VBA, без лишнего столбца со средним баллом, и чтобы всё работало, если вручную добавить столбцы с новыми оценками.
Решение. Выпадающий список имеет связь с ячейкой, куда выводится порядковый номер выбранного из списка элемента. Добавим еще одну ячейку "технического назначения", где будет генерироваться диапазон для формулы СРЗНАЧ (т.к. строки разные для каждого студента). В ячейку с результатом запишем формулу СРЗНАЧ (AVERAGE), внутри которой будет ДВССЫЛ (INDIRECT) со ссылкой на нашу "техническую" ячейку.
#НепростыеЗадачи
Задача. Нужно выбрать имя и вывести средний балл.
Сложность. Сделать без кода VBA, без лишнего столбца со средним баллом, и чтобы всё работало, если вручную добавить столбцы с новыми оценками.
Решение. Выпадающий список имеет связь с ячейкой, куда выводится порядковый номер выбранного из списка элемента. Добавим еще одну ячейку "технического назначения", где будет генерироваться диапазон для формулы СРЗНАЧ (т.к. строки разные для каждого студента). В ячейку с результатом запишем формулу СРЗНАЧ (AVERAGE), внутри которой будет ДВССЫЛ (INDIRECT) со ссылкой на нашу "техническую" ячейку.
#НепростыеЗадачи
🔥13
Лето наступило! ☀️
...и я предлагаю провести его с пользой. Оставайтесь на связи, а я продолжу размещать краткие посты об интересных приемах в MS Excel.
🥝 Напомню, что посты выходят под такими хештегами:
#Формулы , #Приемы , #Диаграммы , #Таблицы , #Данные , #Анализ , #VBA , #Полезное , #НепростыеЗадачи .
🍍 Также к этому каналу привязан чат, где можно обсуждать, задавать вопросы, делиться опытом и находить единомышленников. Присоединяйтесь!
Всем спасибо, и отличного дня! 👍
...и я предлагаю провести его с пользой. Оставайтесь на связи, а я продолжу размещать краткие посты об интересных приемах в MS Excel.
🥝 Напомню, что посты выходят под такими хештегами:
#Формулы , #Приемы , #Диаграммы , #Таблицы , #Данные , #Анализ , #VBA , #Полезное , #НепростыеЗадачи .
🍍 Также к этому каналу привязан чат, где можно обсуждать, задавать вопросы, делиться опытом и находить единомышленников. Присоединяйтесь!
Всем спасибо, и отличного дня! 👍
👍35❤5🤯1
This media is not supported in your browser
VIEW IN TELEGRAM
Интересная задача: кто-то защитил файл и теперь из него нельзя ничего скопировать. Защиту можно обойти, используя VBA. В примере защищенные данные через код выгружаются в текстовый документ.
#НепростыеЗадачи
#НепростыеЗадачи
👍20
Итак, начался новый учебный год!
В учебе и работе постоянно возникает множество новых задач. Если нужен способ решить их быстрее, вы в нужном месте 😀 Спасибо, что остаетесь, читаете и отвечаете)
💭 Если у вас возникает любой (даже, казалось бы, совсем простой) вопрос, напишите мне. Давно замечаю, что "живые" задачи - это самое интересное, и из них получаются очень полезные посты.
✒️ И по традиции - посты этого канала выходят под такими хештегами:
#Формулы , #Приемы , #Диаграммы , #Таблицы , #Данные , #Анализ , #VBA , #Полезное , #НепростыеЗадачи .
Спасибо, и прекрасного дня! 👍
В учебе и работе постоянно возникает множество новых задач. Если нужен способ решить их быстрее, вы в нужном месте 😀 Спасибо, что остаетесь, читаете и отвечаете)
💭 Если у вас возникает любой (даже, казалось бы, совсем простой) вопрос, напишите мне. Давно замечаю, что "живые" задачи - это самое интересное, и из них получаются очень полезные посты.
✒️ И по традиции - посты этого канала выходят под такими хештегами:
#Формулы , #Приемы , #Диаграммы , #Таблицы , #Данные , #Анализ , #VBA , #Полезное , #НепростыеЗадачи .
Спасибо, и прекрасного дня! 👍
👍33😁1
Media is too big
VIEW IN TELEGRAM
Что делать, если на листе стоит защита, а вам нужно редактировать данные?
Решение: убрать защиту листа (без пароля и без VBA), преобразовав (временно!) файл в RAR-архив.
Порядок действий:
1. Меняем расширение файла на *.rar.
2. Заходим в ваш архив, дальше - в папку xl, дальше - в папку worksheets.
3. Копируем файл листа в другое место, и эту копию открываем через текстовый редактор.
4. Находим тег sheetProtection и полностью его стираем. Сохраняем файл.
5. Копируем измененный файл обратно в архив.
6. Меняем расширение файла на *.xlsx.
#НепростыеЗадачи
Решение: убрать защиту листа (без пароля и без VBA), преобразовав (временно!) файл в RAR-архив.
Порядок действий:
1. Меняем расширение файла на *.rar.
2. Заходим в ваш архив, дальше - в папку xl, дальше - в папку worksheets.
3. Копируем файл листа в другое место, и эту копию открываем через текстовый редактор.
4. Находим тег sheetProtection и полностью его стираем. Сохраняем файл.
5. Копируем измененный файл обратно в архив.
6. Меняем расширение файла на *.xlsx.
#НепростыеЗадачи
👍34🔥4
Media is too big
VIEW IN TELEGRAM
Еще только ноябрь, а здесь уже новогоднее настроение 🎄
Задача: сделать на листе кнопку, которая добавляет рандомную картинку в книгу (используя VBA).
В процессе пропишем не только добавление изображения из папки, но и удаление предыдущего добавленного, и используем встроенную функцию Excel СЛУЧМЕЖДУ (RANDBETWEEN) прямо в коде VBA.
#НепростыеЗадачи
Задача: сделать на листе кнопку, которая добавляет рандомную картинку в книгу (используя VBA).
В процессе пропишем не только добавление изображения из папки, но и удаление предыдущего добавленного, и используем встроенную функцию Excel СЛУЧМЕЖДУ (RANDBETWEEN) прямо в коде VBA.
#НепростыеЗадачи
👍9🎉1
This media is not supported in your browser
VIEW IN TELEGRAM
Изменяющийся календарь 💠
Еще одна идея в копилку для пользователей Google Sheets – годовой календарь, который перестраивается при смене года.
Чтобы понять, с какого дня недели начинается месяц (и выстроить дни в зависимости от этого), нужно выполнить проверку: для каждого из семи дней недели – является ли им первый день месяца.
Пример для "01.01.2023" в поле "СР":
#НепростыеЗадачи
Еще одна идея в копилку для пользователей Google Sheets – годовой календарь, который перестраивается при смене года.
Чтобы понять, с какого дня недели начинается месяц (и выстроить дни в зависимости от этого), нужно выполнить проверку: для каждого из семи дней недели – является ли им первый день месяца.
Пример для "01.01.2023" в поле "СР":
=ЕСЛИ(ДЕНЬНЕД(ДАТА(2023;01;01);2)=3; 1; "")
P.S. В формуле ДЕНЬНЕД(...;2) второй аргумент указывает на систему счисления для дней недели.#НепростыеЗадачи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2🔥2
После небольшого перерыва, связанного с рабочими проектами, я снова с вами, и уже подготовила новые посты
Поделитесь в комментариях, что вам будет особенно интересно, и до встречи в новых постах!
P.S. У нас по-прежнему активны категории: #Формулы , #Приемы , #Диаграммы , #Таблицы , #Данные , #Анализ , #VBA , #Полезное , #НепростыеЗадачи .
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🎉5❤4