Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 След.
Восстановить нумерацию подпунктов VBA
 
Ігор Гончаренко, вашим вариантом воспользовался. Отлично подошел. Спасибо!
Восстановить нумерацию подпунктов VBA
 
Всем привет. Прошу помочь в решении задачки. Желательно на VBA. Приходят файлы со сбитой нумерацией подпунктов, пункты пронумерованы корректно. Пример во вложении. Основные ошибки - пропуск номера и следование не по порядку, а также начало не с n.1 Нумерация всегда как в файле, подпукнтов у подпунктов нет, пропусков строк тоже нет, полного отсутствие номера подпункта также не встречается, но бывают пункты без подпунктов.
Не завершается процесс Excel.exe после выхода из приложения
 
Отлично. Попробуем. Есть мысль и реестр почистить. Права вроде есть.
Не завершается процесс Excel.exe после выхода из приложения
 
Цитата
Юрий М написал:
Может личная книга макросов?
Надо проверить. Хотя человек очень далек от этого. Как он смог ее задействовать.
Не завершается процесс Excel.exe после выхода из приложения
 
1. Да. На пустых (вновь созданных) процесс создается и завершается нормально. Но только если до этого не было зависшего процесса.
2. Нет, книги абсолютно разные, многие даже без макросов.
3. Да возможно есть какая-то "фоновая" книга, но вот вычислить ее не удается. Видимых открытых книг нет.
Не завершается процесс Excel.exe после выхода из приложения
 
Добрый вечер всем. Какие могут быть причины? Человек сказал, что офис переустанавливал, не помогло. Процесс не завершается при выходе из любой книги - обычной, с макросами, надстройки. Приходится заходить в диспетчер и убивать процесс, чтобы открыть ранее открытие книги, иначе пишет только для чтения.

office 16 x-64 на win 7 x-64
Изменено: Djinn - 07.02.2019 18:10:52
А как ты кодишь?
 
Цитата
БМВ написал: Надо на тренерскую работу переходить.
Напишите книжку "Продвинутые методы программирования на VBA". Для тех, кто пришел не из программистов. Про массивы, словари, коллекции, FSO, ADO, соединения с БД, работа по расписанию и т.п. Все что реально может вывести офисную работу на новый уровень - скоростные/лаконичные обработки. С подробным объяснением кодов. Думаю спрос будет - я бы точно купил. У того же Уокенбаха многое оторвано от жизни, да и тяжело читать книгу в 900 страниц, в которой напичкано всего.
Некорректная работа надстройки XLAM
 
А если я переношу код в свою надстройку - у меня работает. Без изменений кода. Помню что-то брал отсюда, для того чтобы работало, когда ее создавал давно. Объявления App в модуле книги? Не помню уже.
А как ты кодишь?
 
Не думаю что стоит беспокоится на счет стиля VBA - прикладной язык для частных задач, здесь главное не красота разработки, а ее скорость. Часто приходится что-то переделывать под вновь открывающиеся обстоятельства. В этом собственно и плюс. Пока системный программист только составит план, ты уже сдаешь проект. 80% проектов можно написать объектами книги, листа, а уже  что-то, где требуется реальное быстродействие - работа с очень большими данными или частое применение макросов, здесь стоит подключить массивы, словари, коллекции и т.п.

По мне, главная ценность прикладного программиста умение быстро видеть и закрывать потребности в автоматизации и закрывать их по возможности на 100%. Видел много красивых кодов, но они решали 5% всей задачи, тогда как ее можно было решить кодом на 100%. Здесь и неумение пользователей ставить ТЗ и нежелание разработчика разобраться в процессе.

Также видел много "красивых" с точки зрения тех кто учился на программиста кодов - все объекты завернуты в переменные, каждая мелочь выносится в функцию, повсюду метки GO TO (типа обработчики ошибок) - разобраться в таком коде сопровождающему непросто и не быстро. VBA это скрипт - когда ты считываешь понятную последовательность операций со знакомыми объектами поддержка чужого кода становится куда проще. Я не говорю что надо писать все в одну портянку, но излишние объявления и заворачивания тоже зло. Также и со стороны разработки - человек пишущий знакомыми методами и шаблонами, просто соединяя их как конструктор и меняя параметры может закрыть задачу за день, между тем как любитель написать красивый код берет на нее неделю.

VBA программист это не просто кодер – зачастую он сам себе и архитектор и бизнес-аналитик и проектировщик.

Изменено: Djinn - 05.02.2019 09:57:09
Наиболее быстрое сравнение двух огромных списков
 
Цитата
Андрей VG написал:
Power Query и его собрат - повержены

Тогда вообще не вижу преимуществ PQ. По скорости грамотному коду уступает (правда кода меньше), чтобы сделать на нем что-то серьезное все равно надо кодить, еще и на другом языке, который сперва надо выучить.....
Наиболее быстрое сравнение двух огромных списков
 
А этот код вручную написан? Только конструктором такое сопоставление можно провести?
Код
let
    tbl1 = Table.AddKey(Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], {"Поле1"}, true), 
    tbl2 = Table.AddKey(Excel.CurrentWorkbook(){[Name="Таблица2"]}[Content], {"Поле2"}, true), 
    onlyTbl1 = Table.Join(tbl1, {"Поле1"}, tbl2, {"Поле2"}, JoinKind.LeftAnti)[[Поле1]], 
    onlyTbl2 = Table.Join(tbl1, {"Поле1"}, tbl2, {"Поле2"}, JoinKind.RightAnti)[[Поле2]], 
    markTbl1 = Table.AddColumn(Table.RenameColumns(onlyTbl1, {"Поле1", "Поле"}), "№ таблицы", each 1), 
    markTbl2 = Table.AddColumn(Table.RenameColumns(onlyTbl2, {"Поле2", "Поле"}), "№ таблицы", each 2) 

in
    markTbl1 & markTbl2 // объединяем столбцы
Изменено: Djinn - 03.02.2019 13:44:52
PowerPivot, PowerQuery, PowerBI
 
Вот думаю небольшую презентацию на работе провести для коллег и руководителей по поводу тройки PowerPivot, PowerQuery, PowerBI, но не могу набрать списка преимуществ, о которых рассказывать. Пока определил только парочку:

1. ВПР-рить большие данные через PQ и собирать данные из выгрузок, где суммарно более 1 млн строк - это для сотрудников.
2. Создать единый центр отчетности на основе BI - разрозненные файлики с отчетами по разным направлениям привести сначала к нормальному виду, а затем в одну систему на дашборды одного проекта BI - это для руководителей. Правда придется проделать кучу работы.

По поводу всего остального типа сбора данных из разных файлов и составления отформатированных отчетов можно не рассказывать, людям избалованными частными макросами, где вся работа делается за них, а тут еще и на кнопочки нажимать много надо)))
Прямые подлючения к базам, чтобы миновать файлы Excel и всякие репорт-генераторы тоже речи нет, софт слишком экзотический, не поддерживается PQ

Может кто еще подскажет, какие преимущества у тройки PowerPivot, PowerQuery, PowerBI?
Нужен макрос по выводу повторяющихся значений
 
Загоните в сводную, зачем тут макрос
Как указать путь к текущей папке, если адрес текущей папки может меняться?, при сохранении шаблона с поддержкой макросов через диалоговое окно "Сохранить как"
 
А зачем .xltm? Если видно что проблема, формат не проще поменять?  
Мощность Power Query
 
Всем привет. Хочу поинтересоваться у экспертов по вопросу развертывания базы ФИАС на Power Query с целью проверки адресов на листах Excel на соответствие ей. Сама база как я понял с сайта весит 5ГБ в формате XML и проверятся будут десятки тысяч строк адресов. Такая реализация вообще возможна на нем, и как адекватно и быстро она сможет работать? Или не стоит заморачивать этим голову и оставить задачу для более серьезного софта?
Запуск файла Excel по расписанию
 
Макрос лучше перенести в обычный модуль а не книгу. Если не хотите заморачиваться с планировщиком - можно запустить макрос кодом VBA, правда книга для этого должна быть открыта.
Код
Sub Робот()
Application.AutoRecover.Enabled = False
Application.OnTime TimeValue("8:15:00"), "Имя_макроса_к_запуску"
End Sub

В конце макроса к запуску также должна быть строка вызова, чтобы таймер сработал более 1 раза (например на выходных)

 Sub Имя_макроса_к_запуску ()
................
Application.OnTime TimeValue("8:15:00"), "Имя_макроса_к_запуску"
End Sub

т.е. чтобы он вызывал сам себя.

Изменено: Djinn - 27.01.2019 16:08:56
Запуск файла Excel по расписанию
 
Добрый день. Можно создать vbs скрипт в блокноте, и сохранить его с расширением vbs, а уже его подцепить в планировщик. Так удобнее - не надо держать Excel открытым. В нем указываем какую книгу хотим вызвать и какой макрос в ней. Код из своих проектов:
Код
set App = createobject("excel.application")
App.visible = false
App.Workbooks.Open("C:\Users\Игорь\AppData\Roaming\Microsoft\AddIns\Учет производства.xlam")
App.Run("ГрупповаяОбработка")
App.quit
Изменено: Djinn - 27.01.2019 15:17:24
Заполнить ячейки со смещением по условиям дат и разности дней
 
Чет я протупил, когда защиту листа хакнул. Там же внизу есть решение))))) Вопрос снят. Может кому пригодится.
Заполнить ячейки со смещением по условиям дат и разности дней
 
Всем привет. Прошу подсказать как решить задачку во вложении. Что-то и в голову кроме кучи "если" не приходит. Аж интересно стало. Еще и по дням недели раскидать....
Наиболее быстрый способ удаления строк VBA
 
Всем добрый вечер. Возник вопрос, каким способом можно наиболее быстро удалить строки в примере во вложении. Необходимо удалить все строки с минимальной датой. Дело в том в реальности строк в файле под миллион, циклы и фильтры очень тяжело работают.
Перемещение файлов в папку с учетом накопленного размера VBA
 
Добрый вечер всем. Хотел спросить, может кто сталкивался по работе и у него завалялся примерный набросок кода на задачу. В опеределенной папке есть файлы, их требуется по определенной маске (в условие задачи не входит) собирать в создаваемые внутри папки подпапки, которые создаются по части имени этих файлов (много файлов имеют одинаковую определенную часть), но до того момента пока объем перемещенных файлов (или подпапки с файлами, что из чего удобнее) не превысит 20 мб. Если след перемещаемый файл нарушает это условие, создается подпапка из той же части имени но префиксом 1 и т.д, в конце имени.
Подстановка через scripting.dictionary с учетом пропусков
 
Sanja, спасибо, работает. Очищает я так понял при след проходе.
Подстановка через scripting.dictionary с учетом пропусков
 
Добрый вечер. Не могу додуматься как в решении во вложении, где идет постановка, сделать так, что если данные не найдены в массиве 2, не подставлялись данные из первого массива, а было пусто. Буду благодарен за подсказку. Кнопка макроса на первом листе.
Отбор дубликатов на отдельный лист VBA
 
Добрый вечер, господа эксперты, подскажите что-нибудь универсальное для отбора дубликатов строк по условию в одном столбце на отдельный лист. Так чтобы в исходном массиве этот дубль удалялся, а на новом листе были все повторы строк - сколько их было в начальном. Везде на эту тему только отбор уникальных через коллекции, дубли никого не интересуют, а по работе нужно для анализа - какие данные вызывают задвоение.
Меню фильтра в Excel, добавление своих пунктов, регулярные выражения
 
Андрей VG, спасибо.. По работе часто применяем не стандартные фильтры, хочется чтобы они были не в ленте надстройки, в самом меню...
На первый взгляд никаких похожих объектов в файле excelcontrols нет. Только блок фильтров на основной ленте.
Меню фильтра в Excel, добавление своих пунктов, регулярные выражения
 
Добрый вечер. Господа, подскажите, можно ли добраться до структуры меню фильтра и добавить свои пункты меню и подменю?
И вопрос 2 сразу - стандартные средства Excel, не поддерживают регулярные выражения на фильтрацию, например: нет чисел в текстовой строке,
строка заканчивается на две цифры, в строке есть 5 цифр подряд и т.п?
Изменено: Djinn - 03.02.2018 23:18:59
Не работают макросы на других ПК
 
Добрый вечер.
По работе столкнулся в неожиданной проблемой. На своем ПК разрабатываю  и тестирую макросы, проверяю на двух ПК, своем и удаленном.Все работает. Здесь офис 2013 x32, на втором 2013 x64. Как только файл с макросом уходит пользователям на другой ПК - отказывается работать. Причем макросы разные, а ошибка всегда она и та же - Excel просто аварийно завершает работу и пишет что документы будут восстановлены на след сеансе. Ошибка на разных макросах, возникает в разных местах. некоторые успевают отработать, некоторые нет. Никаких особых функций в них не используется, один вообще работает внутри одной книги. Все опции по активному содержимому и безопасности у всех включены как нужно. Может у этих сотрудников старая глюченная локализация офиса (хотя тоже 2013x64)? Или файл при пересылке по почте повреждается - видел раз сообщение что запуск содержимого запрещен, т.к. файл получен из внешних источников. Сообщение убрал, параметры выставил - все равно Excel вылетает.
Какие могут быть варианты? Как вылечить?
Попробую в понедельник передать через сетевой диск, а не по почте. Может корп. системы безопасности как-то блочат(повреждают) эти файлы?
Заставить файлы в цикле Do Loop открываться в определенной последовательности
 
Ігор Гончаренко, круто, я так даже не мыслю))). Больше 8 Регионов не бывает. Ура! :)  
Заставить файлы в цикле Do Loop открываться в определенной последовательности
 
У них только первая цифра в имени одинаковая. Открываются они по маске 1*Регион_01*, 1*Регион_02* и т.д.
Изменено: Djinn - 01.02.2018 19:56:20
Заставить файлы в цикле Do Loop открываться в определенной последовательности
 
Я вот думал пересохранить программно в нужной последовательности, а потом Do Loop. Он как раз по дате сохранения открывает. Пересохранение будет быстрее, чем последовательнось городить, тем более что обработка громоздкая. Про цикл с подсчетом думал, но проблема в том что два файла могут иметь одинаковую цифру, например 2 и 2 и второй файл просто не открывается.
Страницы: 1 2 3 След.
Наверх