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

Страницы: 1 2 След.
Подсчет дат в правильном формате
 
Всем привет. Прошу подсказать по решению во вложении, как определенном диапазоне подсчитать сколько в нем встречается дат в нормальном формате (05.09.2018, не беря во внимание строки, где дата записана в преобразованном числовом формате (43348). Т.е. чтобы решение вернуло 1 вместо 2 в формуле справа.
Скачивание папки с ftp на локальный диск VBA
 
Всем привет. Знаю что тема не нова, но в прогуленных решениях идет показ реализации скачивания максимум одного файла с ftp на локальный. Возник вопрос. а можно ли скачать целиком папку со всеми подпапками и содержащимися в них файлами без их перебора. Может есть соот. команда?
Подсчет комплектов файлов в папке
 
Всем привет. Прошу помочь с реализацией одной замысловатой на первый взгляд задачи. Таких у меня много будет, потом переложу код и на другие. Мне бы только увидеть концепцию. В папке содержится ряд файлов по Рознице и Опту, Регионам и Типам отчетов. В каждом комплекте региона, как по опту, так и по рознице должно быть три отчета.
Если в каких-то наборах Розница-Регион или Опт-Регион не хватает файлов, вывести это в итоговое консолидированное сообщение в таких-то наборах не хватает файлов.
Подсчитать кол-во ячеек, содержащих только текст
 
Всем привет. Подскажите пожалуйста, как наиболее производительно посчтать кол-во ячеек в определенном столбце. содержащих только текстовые значения. Текст может быть разным, но всегда встречается либо текст, либо числа, смешанных не бывает. Пример в файле. Мысль -  может регулярками?
Изменено: Laider - 20.08.2018 21:45:39
Скопировать открытый файл VBA
 
Всем привет. Форумчане, подскажите как скопировать открытый файл (файл Excel), файл открыт другим пользователем. Копирование кодом VBA. Все прогугленные методы дают ошибку 76. Интересно что, через проводник они копируются без проблем.
Определить разные значения у однотипного показателя VBA
 
Всем привет. Что-то понедельник, деть тяжелый. Застрял на простой задачке. Как определить уникальный ли комментарий(решение) содержит показатель, либо же есть разные. Пример в файле. Повторы кодов могут идти не порядку, сортировать их нельзя. Решение может иметь разное обозначение (не только да/нет) - важно чтобы у одного кода было одинаковое решение. Если нет - отличие(я) залить заливкой.
Попарное сравнение файлов в цикле
 
Всем привет. Прошу помочь составить правильно цикл. Суть задачи  - в двух разных папках Папка 1 и Папка 2 лежат несколько файлов. Их число в обоих папках одинаково. Файлы сравниваются по последней цифре в имени файла, одинаковых имен нет. Например в Папке 1 нужно окрыть Реестр 1, в папке 2 открыть Реестр согласованный 1 (идет код сравнения - здесь я сам), Затем открывается Реестр 2 и сравнивается с Реестром согласованным 2  ит.д.
Быстрое открытие файлов по гиперссылам
 
Всем привет. Подскажите самое эффективное решение задачи. Есть ряд файлов хранящихся на сетевом диске и гиперссылки на них зашиты в  коде, в надстройке, вызываются по нажатию кнопки в ленте. Файлы в основном Word и Excel. Тут такая проблема - их нельзя открывать напрямую (занимать эти файлы). Как лучше сделать, открытие  в новом документе, копирование с известного пути в новое место и открытие оттуда? Может еще варианты, интересует самый быстрый конечно.
Заполнить диапазон ячеек из строчного массива VBA
 
Всем привет. Часто по работе нужно набросить заголовки длинных таблиц в Excel непосредственно из кода VBA. Обычно их можно представить  в виде строки с запятыми, например Дата, Сумма, Регион, Наряд, Срок выполнения. Как это строчку из кода можно быстро поместить последовательно в первую строку с ячейки a1, каждый в последующую ячейку?
RegExp сколько слов и сколько цифр в строке
 
Всем привет. Снова нужна помощь "регулярщиков". Застрял на задаче. Требуется определить сколько слов и сколько цифр содержится в строке в ячейке. Разделитель обычно запятая. Могут быть короткие обозначения 1-2 буквы. Если точнее -  сколько слов длинее трех букв и сколько цифр, любой разрядности содержится в строке. Понимаю что задача плохо формализована и могут быть оговорки, но основное внимание здесь будет уделяться наименьшим выходным значениям, так что задача будет работать вполне корректно. Пример строк во вложении.
Запомнить массив по условию VBA
 
Всем привет. Задался вопросом, есть ли более изящный чем фильтр и более быстрый чем цикл способ запомнить массив ячеек для копирования в другую книгу по условию.
Пример в приложенном файле.Условия в столбце B. Т.е. если условие = "Признак 1" запомнить ячейки A1:A12 и потом скопировать их в другое место.
Определить активное окно проводника
 
И снова всем привет. Спрошу еще один вопрос, т.к. в данной теме совсем не силен. Проблема актуальна для надстроек. Можно ли как-то в VBA определить путь активного окна проводника, т.е. какая папка винды активна и открыта в окне перед тобой? Когда макрос работает из конкретного файла, тут все просто, или когда путь известен заранее - тоже можно задать заранее, но вот если просто открыт какой-то документ Excel, и при этом тебе надо что-то сделать с файлами в совсем другой директории и она открыта в проводнике. здесь вопрос, как это сделать.
Attachments.Add файлы во вложение по части имени
 
Всем привет. Может кто сталкивался по работе, как добавить во вложение письма Outlook макросом из Excel все файлы (может быть 1 или несколько) в текущей папке содержащие определенное слово? Отчеты из периода в период типовые, отличаются только даты в них и аббревиатуры контрагентов. Хотелось бы что он по этой аббревиатуре и понимал, в какое письмо вкладывать этот файл.
Удалить одну строчную букву, если за ней следует прописная
 
Всем привет. По регуляркам надо отдельный раздел открывать)) Не могу найти паттерн - нужно удалить одну строчную букву, если за ней следует прописная. Некорректные склейки полечить:
пРощинский
гСамара
Массовая замена слов VBA
 
Всем привет. Продолжается у меня тема чистки данных. Сегодня вопрос по массовой замене - есть некие сочетания слов, без видимых правил, менять в списке на листе придется только явным указанием. Можно их как-то внести в один массив, возможно через запятую и проверять каждую ячейку через цикл на все сразу. Хочется чтобы код в итоге покороче был и на доп листе их не хранить. Что использовать Replace + Array?
Удалить слова с определенным количеством букв
 
Всем привет. Снова нужна помощь "регулящиков"))) Мотаю на ус новые знания, но их пока не хватает. Вопрос - как удалить из строки слова с кол-вом букв от 1 до 3 а остальные оставить. Отделены пробелами. Чистка строк. Пример во вложении.
удалить все кроме букв и пробелов
 
Всем привет. Возникла необходимость по одной задаче определить, взял код из Plex, т.к. она  у меня есть, но что-то он не хочет работать. Что в нем не так?
Код
Sub тест()
     Set DataRng = Range("C22:C23")
        For i = 32 To 255
            If Not (i = 42 Or i = 63 Or i = 32 Or i = 168 Or i = 184 Or (i >= 65 And i <= 90) Or (i >= 97 And i <= 122) Or (i >= 192 And i <= 255) Or (i >= 65 And i <= 90)) Then DataRng.Replace What:=Chr(i), Replacement:=""
        'убираем лишние пробелы
        For Each cell In DataRng
            If (Not IsEmpty(cell)) And (Not IsError(cell)) Then cell.Value = WorksheetFunction.Trim(cell.Value)
        Next cell
    Next
End Sub
Определение что в найденных частях строки. отсутствуют ее начальные части VBA
 
Всем привет еще раз. Что-то я застрял сегодня на этих адресах. Еще одна тема с жутким названием). Суть - есть адресная строка, после прогонки через программу, рядом выдаются найденные блоки. Но может так получится, что программа не нашла улицу, населенный пункт (пример в файле). Как определить это отсутствие? На первый взгляд задача вообще не благодарная, кажется придется сперва собрать найденные блоки в строку, а потом сравнивать.
Может попробовать косвенно - типа полученная длина строки меньше начальной?
Определить какие из фрагментов есть в общей фразе и обозначить их соответствующими метками
 
Всем привет. Форумчане, подскажите, как реализовать поиск конкретной не найденной части текста. Суть в файле - есть адресная строка, она подается в программу и выдает адрес по частям, рядом. И часто в этих частях есть исправления в исходной части - пара букв в названии улицы, поселка, либо целый подставляемые регионы или нас пункты. Найти целую часть через LIKE знаю как, но как отметить только не найденные буквы, а не все значение целиком. Например в приложенной примере нужно отметить только букву ч в слове Азотчиков, остальная последовательность верная. Это позволит быстро определять, что опечатка, а что было поставленно целиком.
Выпадающий список по условию.
 
Всем привет. Подскажите, как создать выпадающий список по условию? Так чтобы на основании одних данных поставлялись все данные из базы. Подробнее в файле.
Поиск по объединенным ячейкам
 
Всем привет. Господа, подскажите как корректно осуществить поиск и постановку данных (макросом) с учетом объединенных ячеек. Пример во вложнении. Нужно на 1 лист в столбец F вставить цифры с листа 2 (по позициям) с учетом региона и поставщика заданных в A1 и A2. В голову приходит только разъеденить, заполнить пустоты регионов, а потом по равенству искать. Но может есть путь покороче?
Применение Application.WorsheetsFunction в массивах
 
Всем привет. Задался вопросом по след теме. Часто приходится автоматизировать расчеты на листах длинными формулами и по несколько десятков тысяч записей. Автоматизирую только через физическую вставку формул и расчеты, поскольку не знаю можно через VBA что-то подобное провести через массив. Через формулы получается не очень производительно.  Скажем, есть формула вида:
Код
=ЕСЛИОШИБКА(ЕСЛИ(ИЛИ(B7<=$A$1;$A$1>=$E$1);M7;ЕСЛИ(И(A7<=$D$1;ИЛИ(B7>$E$1;B7=0));M7/($A$1-$D$1+1)*($E$1-$D$1+1);ЕСЛИ(И(A7<=$D$1;B7<=$E$1);M7/($A$1-$D$1+1)*(B7-$D$1);ЕСЛИ(И(A7>=$D$1;B7>$E$1);M7/($A$1-A7+1)*($E$1-A7+1);ЕСЛИ(И(A7>=$D$1;B7<=$E$1);M7/($A$1-A7+1)*(B7-A7);0)))));0)

Здесь как видно есть сравнение с другими ячейками, но с одиночными. Либо с такими:
Код
=ЕСЛИ(И(S4<90%;T4=МАКС(ИНДЕКС($T$3:$T$359;ПОИСКПОЗ(J4;$J$3:$J$359;)):ИНДЕКС($T$3:$T$359;ПОИСКПОЗ(J4;$J$3:$J$359;)+СЧЁТЕСЛИ($J$3:$J$359;J4)-1)));"последний";ЕСЛИ(И(S4<90%;T4=МАКС(ИНДЕКС($T$3:$T$359;ПОИСКПОЗ(J4;$J$3:$J$359;)):ИНДЕКС($T$3:$T$359;ПОИСКПОЗ(J4;$J$3:$J$359;)+СЧЁТЕСЛИ($J$3:$J$359;J4)-1))-1);"предпоследний";ЕСЛИ(И(S4<90%;T4=МАКС(ИНДЕКС($T$3:$T$359;ПОИСКПОЗ(J4;$J$3:$J$359;)):ИНДЕКС($T$3:$T$359;ПОИСКПОЗ(J4;$J$3:$J$359;)+СЧЁТЕСЛИ($J$3:$J$359;J4)-1))-2);"предпредпоследний";РАНГ(S4;ИНДЕКС($S$3:$S$359;ПОИСКПОЗ(J4;$J$3:$J$359;)):ИНДЕКС($S$3:$S$359;ПОИСКПОЗ(J4;$J$3:$J$359;)+СЧЁТЕСЛИ($J$3:$J$359;J4)-1)))))

Здесь уже есть и просмотр диапазона.

Вопрос - можно ли подобные функции считать как-то внутри программных массивов? Через Application.WorsheetsFunction?
Управление внешней программой из VBA
 
Всем привет. Никогда с этим не работал, и не знаю стоит ли связываться. Можно ли более менее полноценно управлять внешней программой из VBA, и в каком направлении копать, что почитать. Знаю можно сочетания клавиш передавать, предварительно ее вызвав. Суть задачи - часто приходится шифровать и пересылать по e-mail кучу однотипных файлов, с похожими шаблонами шифрования. ЭЦП. Наша отечественная программа Крипто-АРМ.
Определить корректность нумерации
 
Добрый  вечер, всем. Казалось бы простая математическая задачка, не могу додуматься как решить. Как определить корректность нумерации в определенном диапазоне одной формулой. А именно - все числа идут по порядку сверху вниз друг за другом с нарастающим шагом 1. Обычная нумерация.
Рандомная пауза в макросе
 
Всем привет. Подскажите пожалуйста, строчку кода, никогда с такими типами данных не работал - требуется вставить в циклическую обработку в макросе рандомную паузу, в пределах от 1 до 20 секунд.
Снятие Project is unviewable VBA через OpenOffice
 
Привет. Всем, кто знает такая возможность есть? Знаю что залоченные надстройки можно открыть через Open Office, но можно ли изменить что-то или снять признак, чтобы открывать в Excel нормально? От старых разработчиков на работе осталась хорошая надстройка, но много функций требуют переделки под существующие отчеты. Обработки довольно сложные, их проще поправить, чем с нуля писать. Пока ограничиваюсь переносом кода в свою, но вот с формами все сложнее.
Эффективно проверить хотя бы на одно условие
 
Всем привет. Форумчане, подскажите как в VBA эффективно проверять массивы по условию "если хотя бы одно значение соответствует значению проверки"...скажем вывести сообщение, или задать значения переменной. Например, в приложенном файле - столбец E  - если хотя бы одна ячейка имеет числовой формат, а не формат даты - вывести предупреджающее сообщение, с ее адресом. Нужен перебор циклом, если есть более быстрые варианты?
Бывает очень много похожих типичных задач - например если хотя бы одно значение пустое, если хотя бы одно значение в массиве не равно остальным и т.д. Есть универсальный эффективный каркас на эти случаи?
Запомнить адрес предыдущей активной ячейки
 
Всем привет. Уважаемые форумчане, подскажите, как корректно обработать событие вставки в лист данных (копируются с сайта) в определенные ячейки, чтобы после копирования они автоматически транспортировались в другое, определенное место листа. Пример файла приложил.

....Добавлю, не раскрыл суть. Пользователь может проводить и другие операции на листе. Событие не должно наступать, пока пользователь не вставит данные в строго определенный диапазон. При этом нужно запоминать адрес предыдущей активной ячейки - туда и будут транспортироваться данные.
Изменено: Laider - 03.04.2018 20:33:46
automation error vba как отловить?
 
Всем привет. Кто сталкивался подскажите, как можно отловить эту ошибку. Часто встречается в офисе но не у всех. Там есть, там нет. Макросы работают одни и те же. Причем ошибка появляется без каких-либо пояснений и предложений к отладке.
Обработка файлов циклом в только в отдельных подпапках
 
Всем привет. Задумался над проблемой циклической обработки файлов в папках, расположенных в разных подпапках. Распологаются они довольно структурированно, но все же в этой структуре есть папки и файлы, которые не нужно обрабатывать. Как составить строку кода VBA, чтобы он просматривал только папки определенного уровня вложенности и названия. И только файлы с определенным названием? Например есть Папки:
C:\Регион1\Оплаты\Реестр.xlsx
C:\Регион2\Оплаты\Реестр.xlsx

Вместе с тем в этой подпапке есть файлы которые не нужно обрабатывать (имеют другое имя)
Также есть и папки того же уровня, которые не нужно обрабатывать. Например
C:\Регион1\Счета\
C:\Регион2\Счета\

Возм. нужно как-то паттерн задавать, типа C:\*\Оплаты\Реестр.xlsx.
Но на сетевом диске помимо папок с регионами есть и другие, тогда так: C:\Регион*\Оплаты\Реестр.xlsx.?
Страницы: 1 2 След.
Наверх