Автосортировка строк по условию в рамках умной таблицы, макрос
Пользователь
Сообщений: Регистрация: 16.11.2019
24.11.2019 16:46:11
Доброго времени суток, граждане, кто нибудь выполнял ли автосортировку строк по условию ( не алфавиту) в рамках умной таблице, то есть расширямого динамического диапазона ? Пример есть умная таблица, в которую заношу задания на каждый или долгосрочный план, при выполнении ставлю галочку. уменя просиходит задеменения фона. задачи дабавляются сверху путем вставки листа, так как нет желания прокручивать лист в самый низ ( так как кол-во заданий будет рости) вопрос, как сделать, что бы строки с галочками уходили в самый низ умной таблице, а не фиксированного диапазона ?
Изменено: - 24.11.2019 17:01:09
Создание листов по кнопке по определенному сценарию, макрос
Пользователь
Сообщений: Регистрация: 16.11.2019
22.11.2019 18:48:55
Доброго времени суток, - цена вопроса 800Rub.Задача такова, имеется динамическая (smart) таблица в колонке, по кнопке создается(вставляется со сдвигом вниз после строки 3) новая строка, по всплывающему боксу пишется его уникальное имя (бывает и текст , бывает и цифры) примеру "12_123.1" Это имя должно быть скопировано - будет использоваться позже. Далее в книге проверяется на наличие листа с таким же именем и в диапазоне ("project_list").ListColumns("JP").DataBodyRange), если он где либо есть- выводится сообщение "задача уже создана" если нет то лист копируется с определенного шаблона и переносится в конец книги. при этом, ячейка в новом листе (С1) получает значение "12_123.1" активируется лист ("project_list") и в созданной строке в ячейки А4 так же получает значение "12_123.1", на этой же строке B4 значение также "12_123.1" но с гиперлинком на одноименный лист. то есть, будет некая работа цикличная из раза в раз активировать кнопку, по которой будет создаваться строка со сдвигом вниз в одном и том же месте после строки 3, и будет запускаться ход событий описанный выше. причем нужно, сделать защиту от разного рода ошибок, как удаление строки пустой, или удаление строки проекта.
Изменено: - 22.11.2019 20:02:04
фиксированная дата изменения соседней ячейки, фиксированная дата изменения соседней ячейки для smart таблиц
Пользователь
Сообщений: Регистрация: 16.11.2019
18.11.2019 13:07:10
Доброго времени суток, вопрос по замусоленной теме "фиксированная дата изменения соседней ячейки" Начал изучать архив данного форума и другие ресурсы, но макросы предлогаемые имели ряд недостатков, а сцепить их в тот что нужен, ума не хватило.
Мы имеем вот такой код взят из темы
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False ' отключает обработку событий для исключения зацикливания или выполнения незапланированных действий
For Each cell In Target 'проходим по всем измененным ячейкам
If Not Intersect(cell, Range("F2:F100")) Is Nothing Then 'если изменененная ячейка попадает в диапазон A2:A100
On Error Resume Next ' Выполнение пойдет дальше, несмотря на ошибку, вероятно опасная функция
If IsEmpty(Target) Then ' если цель/цели пустые либо очистили цель
Target(1, -0) = Empty ' то очистит ячейку с датой, слева от цели
Else
With Target(1, -0) ' если цель/цели не пустая
' нужен вариант для вставки фиксированного значения к примеру "ХЗ"
.Value = Now ' вписывается дата (текущая)
.EntireColumn.AutoFit ' подстройка ячейки
End With ' заканчивает with
End If ' заканчивает 1ый if
End If ' заканчивает 2ой if
Next cell ' к слудующей ячейки
Application.ScreenUpdating = True ' возвращает в исходное положение обработку событий для исключения зацикливания или выполнения незапланированных действий
End Sub
какой минус в моем использовании, есть таблица SMART, то есть с автозаполнением и авто расширением. данный код написан под фиксированный диапазон, я не использую SMART таблицу обычным образом, то есть на пустой после последней строчки вводишь данные, а смарт включает автозаполнение и расширение.
у меня кнопка макроса, запускает между 2 и3 строкой вставить новую строку (с форматом смарт таблицы) - в этом случае код ругается.
//почему так, конкретно таблица называется "TO DO", разные задачи на день месяц и тп, в идеале не хочется прокручивать листы постоянно вниз, в обще в планах сделать так что бы обработанные задания строки перемещались (автосортировались) в самый низ таблицы. а активные задания всегда оставились на глазах, при возникновении новой задачи, путем кнопки вносится задание.
Что хотелось бы, указать динамический дипазон к примеру
Код
dim lRow&
If Target.Cells.Count > 1 Then Exit Sub
lRow = Cells(Rows.Count, "F").end(xlUp).row
If Not Intersect(Target, Range("F2:F" & lRow)) Is Nothing Then
Или - использовав имя диапазона "Tracker_list[[#Headers],[ACTION]]" эта цель мониторинга, а дату вписывать в "Tracker_list[[#Headers],[Date of completion]]" ну естественно обновлять ячейки находящихся на одной строке.( в данном случае слева от заполненной)
+так же было бы хорошо сделать, что бы макрос гулял в диапазоне столбца умной таблице, что бы не было ложных или ошибочных обработок. + вместо пустого значения, что бы могли написать какой нибудь фиксировнный текст .
То, что я на собирал сверху работает корректно (может это не очень граммотный пример) в условиях если мы работаем с фикс таблицей.
так же просмотрел темы: ,
заранее спасибо
Изменено: - 18.11.2019 13:26:34
Общий график шкалы-градусник для разных листов
Пользователь
Сообщений: Регистрация: 16.11.2019
17.11.2019 19:01:10
Форумчане подскажите пожалуйста, как реализовать одну шкалу тип "градусник", который будет изменяться по следующему условию: на первом листе отображена шкала, на первом листе имеется ячейка Х функцией через Date validation "=INDIRECT("project_list[JP]")" то есть она ссылается на умную таблицу на другом листе и вызывает список для выбора в ячейку Х на первом листе (список названий листов в книге, который будет рости). после выбора из списка в ячейка Х, к примеру проекта 123, шкала должна показать график из сходя из данных выброного значения (он же имя листа) Нам известны конкретные ячейки с данными, они все будут иметь фиксированное место расположение на листах. Я создал отдельный лист (будет скрыт) где есть адреса ячеек и через функции пытался скрепить названия, что бы в итоге получить точный адрес в соседней ячейке для - каждый раз созданного нового листа, а уже на нее бы ссылался граффик, но видимо это из разряда быдло кода )) и все равно не работает.