Sanja, спасибо.
Теперь формирует таблицу как нужно.
Теперь формирует таблицу как нужно.
|
04.01.2024 13:42:58
Sanja, спасибо.
Теперь формирует таблицу как нужно. |
|
|
|
|
|
04.01.2024 10:13:43
Sanja,
Вот он:
Вот я и спрашиваю - как в вашем макросе заменить iCell.End(xlDown), чтобы хотя бы две пустые строки - считались концом диапазона (а не одна пустая строка).
Изменено: - 04.01.2024 10:15:34
|
|||||||
|
|
|
|
04.01.2024 09:30:00
Sanja, Спасибо.
Уже лучше. Но почему-то макрос не учитывает пустые строки в таблице. Вот я вижу что макрос сперва ищет в столбце - нужное слово, чтобы определить начало диапазона: Find(What:=Sheets("Лист 1-1").Range("C6") Но вот как он определяет конец диапазона - из кода неясно. Сейчас если макрос находит в таблице пустую строку - то он считает ее - концом диапазона. Это неверно. Конец диапазона для копирования - это следующая нижняя строка с наличием текста "---" (минус одна строка). Или две пустые строки. |
|
|
|
|
|
04.01.2024 07:18:53
Sanja, нет, характеристики все находятся в одном столбце.
Таблицы разделяются между собой - заголовками в которых встречается текст "---". Нужно найти в столбце текст из зеленой ячейки "C6", запомнить номер этой строки. Затем от этого места - вниз - сделать поиск по тексту "---". Запомнить номер этой строки - 1. Итого будет номер начальной строки диапазона и конечной строки диапазона. Столбец известен - F:F Получается F5:F11 Осуществляем копирование, а ячейку начала диапазона - F5 - макрос запоминает (поскольку будет туда обратно копировать данные из желтого столбца) |
|
|
|
|
|
03.01.2024 16:23:49
БМВ, не понятно как запускать это.
|
|
|
|
|
|
03.01.2024 16:22:38
Sanja, я их не буду называть - они уже названы.
Их только скопировать нужно. |
|
|
|
|
|
03.01.2024 14:53:02
Sanja, Спасибо, но вы применяете - диспетчер имен.
Это можно без имен сделать ? Нужен только макрос. Ведь там будет пара сотен таблиц и диапазоны у них будут не четко определенными.
Изменено: - 03.01.2024 14:53:49
|
|
|
|
|
|
03.01.2024 11:38:14
Sanja, нужно выбрать одну из таблиц - в соответствии со словом записанным в ячейке C6
А потом после изменения - вернуть обратно в тот же диапазон, откуда она была взята. |
|
|
|
|
|
02.01.2024 14:32:26
Sanja, так не получается
Как макрорекодеру обьяснить - какую из нескольких таблиц нужно скопировать ?
Изменено: - 02.01.2024 14:33:52
|
|
|
|
|
|
28.12.2023 19:26:07
МатросНаЗебре, спасибо за ответ
|
|
|
|
|
|
14.12.2023 15:27:23
Sanja, в общем все, я разобрался.
Это runShapeMacro у меня по другому назывался - вот его и подсвечивало. Спасибо за ответ. |
|
|
|
|
|
14.12.2023 15:17:55
Sanja, вот при выдаче ошибки - подсвечена строка:
runShapeMacro |
|
|
|
|
|
14.12.2023 15:01:33
Sanja, у меня не работает.
Выдает ошибку и подсвечивает строчку: runShapeMacro |
|
|
|
|
|
14.12.2023 14:23:24
Sanja, не работает.
Выдает ошибку compile error: Sub or Function not defined И выделяет строчку в коде: runShapeMacro |
|
|
|
|
|
11.12.2023 23:54:26
Доброго времени суток.
Посоветуйте - как макросом отключить надстройку OfficeTab (это та, которая вкладки создает внутри окна экселя) и опять макросом включить ? Не удалить, а именно отключить (чтобы потом можно было опять быстро включить). (я вижу в Надстройках - надпись OfficeTab 14 (но никаких кнопок для ее отключения - не вижу)
Изменено: - 12.12.2023 00:08:22
|
|
|
|
|
|
10.12.2023 09:05:08
Доброго времени всем.
Такой вопрос тут возник. Помогите если кто знает. В файле экселя есть макрос, но его нужно запустить с отсрочкой, которая записана в серой ячейке I10. И тут вопрос не в том, чтобы немедленно начать отсчет времени. А просто начать следить за текущей датой-временем, которая записана в желтой ячейке сверху. Макросу нужно записать в рыжей ячейке - дату-время, с учетом заданных в серой ячейке 2 минут. И потом при пересчете листа, или открытии книги - сверить эти две даты (из желтой ячейки и из рыжей ячейки). И если рыжая будет меньше - то запустить макрос. (потому что в серой ячейке может стоять не 2 минуты, а несколько часов и эта книга может быть закрыта, а потом опять открыта). Я этот алгоритм вижу так. Сперва нужно сделать пересчет листа, чтобы обновилась желтая ячейка текущего даты-времени I1. Затем прибавить к этой дате-времени время записанное в серой ячейке J14 и записать результат в рыжую ячейку N15. И следить за тем, не превысила ли желтая ячейка - рыжую по времени. Если превысила - то запустить макрос "МакросТест". Подскажите как это макросом сделать ? |
|
|
|
|
|
24.11.2023 04:26:25
Так как вы предлагаете - на любой вопрос можно ответить - "вы книгу прочитайте и сами поймете", "вы программу скачайте и сами изучите", "вы сами разберитесь и тогда узнаете". Тогда можно форум смело закрывать - ибо эти вариации ответов - универсальны на все случаи жизни. Я имел ввиду ответ - "вот такой-то график уникальный, еще вот этот график уникальный, а все остальные повторяются". В одну строку можно ответить. Вопрос был задан специально тем - кто разбирается в PowerBi.
Изменено: - 24.11.2023 04:26:58
|
|||||||
|
|
|