Некоторые картинки не загружаются из РФ и РК, используйте VPN.
Показаны сообщения с ярлыком Excel. Показать все сообщения
Показаны сообщения с ярлыком Excel. Показать все сообщения

воскресенье, 7 апреля 2024 г.

Excel VBA Создать Word документы по списку из excel

Прилетела задача:

Имеем таблицу с колонками (допустим ФИО, контакты, кой какие данные)
Нужно для каждой строки создать отдельный Word документ по шаблону и заполнить данными из строки. Шаблоны могут быть разными.

В общем задача в голове разворачивается, я понимаю как ее сделать теми методами, что чаще использую - 1С. Но задачу надо решить силами Excel. Так как план работы "программы" есть, остается дело за малым - выразить его в VBA. Да, занимает чуть дольше, так как я практически не использую данный язык и приходится спрашивать у гугла - "как описывается цикл" и прочее, но результатом заказчик доволен.

К чему мы пришли:

  • В первой строке у колонок с нужными данными должны быть уникальные названия латиницей.
  • Обязательно должен быть столбец KeyWord, в нем содержится ключевой слово для определения текущего шаблона (Template_%KeyWord%.docx)
  • Также должен быть столбец FIO, и должен быть заполнен, иначе строка будет пропущена 
  • Шаблон должен находится в папке с файлом excel с макросом
  • В шаблоне используем "элемент управления содержимым". Название его соответствует названию колонки в excel документе


Если при работе программы элемент не будет найден, то он будет пропущен.

Все, дальше добавляем кнопку в excel документ и связываем его с этим макросом, все должно работать. Будут созданы файлы "Act %KeyWord%.docx" с необходимым заполнением. 

понедельник, 1 мая 2023 г.

MS Excel Ошибка Поискпоз не различает валюту

 

При получении странного результата формулы, которая при помощи Поискпоз() должна найти символ валюты и вернуть позицию, начал искать где у меня ошибка. И как же я был удивлен, когда эксель сказал что уравнение ₽=₸ истинно. Проверка кодсимв() для обоих значений вернула 63. Проверил на всякий случай все используемые валюты, такой глюк только теньге - рубли. Единственное решение, которое я вижу, использовать для одной из валют доп символ, например точку или пробел.

вторник, 7 февраля 2023 г.

Excel пара интересных формул

СУММАЕСЛИ() между. Например надо посчитать сумму с условием между какими то числами, у меня это дата. F:F содержит даты, H:H значения для суммирования, M6 - дата начала месяца

=СУММЕСЛИМН($H:$H;$F:$F;">="&$M6;$F:$F;"<="&КОНМЕСЯЦА($M6;0))

Конце текущего месяца 

=КОНМЕСЯЦА(СЕГОДНЯ();0)

Начало текущего месяца

=ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ());1) 

пятница, 6 января 2023 г.

Excel VBA Найти имя группировки

Допустим есть сгруппированная таблица, где в столбце С уникальные идентификаторы (артикулы) и нужно получить имя группировки, вот функция это и делает. Применение: =FindGroupName(ячейка_шаблон;диапазон)

Excel VBA Найти заголовки группировок и вывести с родителями

Заметка по VBA В excel. Макрос находит ячейки в диапазоне A7:A20000 на первом листе (по индексу) длиной более 3 и выводит списком. К ним прибавляет также уровень группировки, номер строки и номер строки родителя, пригодится при построении иерархий

Excel VBA Получить уровень группировки

Функция возвращает уровень группировки ячейки, применение =GetGroupLevel(A1)

 Function GetGroupLevel(RCell As Range)
    GetGroupLevel = Rows(RCell.Cells(1, 1).Row).OutlineLevel
End Function

А вот этот вариант работает только для текущего листа

Этот вариант работает с любого листа

Function GetGroupLevel(RCell As Range)
    GetGroupLevel = Worksheets(RCell.Parent.Name).Rows(RCell.Row).OutlineLevel
End Function

воскресенье, 13 ноября 2022 г.

Excel нельзя использовать относительные ссылки для цветовых шкал

 Сразу спойлер - данное решение не является полным аналогом цветовых шкал, т.к. не может подсвечивать промежуточными значениями цвета.

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




В связи с такой логикой, получить выделение строки по сумме этой строки с относительными ссылками невозможно.

А задачу надо решать, а как?

вторник, 18 октября 2022 г.

Excel Транспонированное объединение по условию (формула массива)

Задача:

Имеем 800 колонок и 12К строк, из 800 колонок в каждой строке заполнено 2-15 ячеек. Нужно в одну ячейку собрать "НазваниеКолонки: Значение" всех заполненных ячеек в строке.



вторник, 4 октября 2022 г.

EXCEL СчетЕсли пара фокусов

Счет с отрицанием

=СЧЁТЕСЛИ(A:A;"<>"&"БЛАБЛА")

Счет непустых ячеек

=СЧЁТЕСЛИ(A:A;"<>"&"")

Счет при более одном условии (посчитать ячейки не пустые и без пробела)

=СЧЁТЕСЛИМН(A:A;"<>"&" ";A:A;"<>"&"")

Прошу обратить внимание на следующий факт:


Т.е. условно пустая ячейка будет считаться неудовлетворяющей требованию <>""
Т.о. использовать формулу для подсчета условно непустых ячеек не получится.

понедельник, 7 декабря 2020 г.

Excel Конкатенация ячеек по условию или транспонировать и сцепить

Имеется таблица со столбцами Дата и Город. За одну дату городов может быть от 0 до бесконечности, каждый на отдельной строке.
Задача в новой таблице вывести в столбце А даты, а в столбце B все города с этой датой в одну ячейку.


воскресенье, 24 мая 2020 г.

Excel снять объединение и заполнить пустые ячейки

Есть у вас столбец, в котором все ячейки объединены в одну, и нужно снять объединение заполнив ячейки?, тут все просто - снимаем объединение и протягиваем значение.
А что если в столбце 300К строк, и объединение идет по 3-10 строк с разными значениями? Есть надстройка - платная, а можно использовать 2 дополнительных столбца в 4 шага:

  1. Создать столбцы
  2. Протянуть формулу в одном из столбцов
  3. Скопировать полученный результат в режиме только значения
  4. Удалить лишние столбцы (оригинальный и с формулой)
А какую формулу использовать?
Предположим, что столбец источник - D1:D300000, формулу вставляем в столбец С1:С300000, копируем все B1:B300000
В первой строке используем просто копирование (=D1), а в последующих логика проста:
Если ячейка в текущей в столбце D пустая
тогда текущая ячейка равна предыдущей
иначе текущая ячейка равна ячейке в текущей строке в столбце D

=ЕСЛИ(D2="";B1;D2)

Протягиваем, копируем, удаляем.

суббота, 29 сентября 2018 г.

Excel Копирование ячеек с условием без макросов

Всем добра.

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

пятница, 21 августа 2015 г.

среда, 19 августа 2015 г.

EXCEL Недостаточно ресурсов. Выберите меньше данных или закройте другие приложения


Я не буду первооткрывателем ошибки, но возможно добавлю в в свою карму чужого сэкономленного времени. Я мучился с этой ошибкой полгода, точнее удаленный клиент.

среда, 8 июля 2015 г.

EXCEL Найти и покрасить в диапазоне из диапазона(ов)




Все знакомы с условным форматированием?
УФ позволяет форматировать ячейки в зависимости от их значений. Один из вариантов:
Найти в диапазоне все вхождения "БЛА".
Создаем правило для диапазона ($A$1:$A$150) с

вторник, 3 марта 2015 г.

Фокусы в Excel




  1. Автоматическая перенумерация в столбце при добавлении строк:
        =ИНДЕКС($1:$65539;СТРОКА()-1;СТОЛБЕЦ())+1
    ИНДЕКС возвращает значение или ссылку на ячейку, СТРОКА() и СТОЛБЕЦ() возвращают номер текущего, СТРОКА()-1, соответственно номер строки выше. Ну и +1 добавляет к значению 1.
  2. Динамический именованный диапазон.