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

Страницы: 1
Восстановить нумерацию подпунктов VBA
 
Всем привет. Прошу помочь в решении задачки. Желательно на VBA. Приходят файлы со сбитой нумерацией подпунктов, пункты пронумерованы корректно. Пример во вложении. Основные ошибки - пропуск номера и следование не по порядку, а также начало не с n.1 Нумерация всегда как в файле, подпукнтов у подпунктов нет, пропусков строк тоже нет, полного отсутствие номера подпункта также не встречается, но бывают пункты без подпунктов.
Не завершается процесс Excel.exe после выхода из приложения
 
Добрый вечер всем. Какие могут быть причины? Человек сказал, что офис переустанавливал, не помогло. Процесс не завершается при выходе из любой книги - обычной, с макросами, надстройки. Приходится заходить в диспетчер и убивать процесс, чтобы открыть ранее открытие книги, иначе пишет только для чтения.

office 16 x-64 на win 7 x-64
Изменено: Djinn - 07.02.2019 18:10:52
Мощность Power Query
 
Всем привет. Хочу поинтересоваться у экспертов по вопросу развертывания базы ФИАС на Power Query с целью проверки адресов на листах Excel на соответствие ей. Сама база как я понял с сайта весит 5ГБ в формате XML и проверятся будут десятки тысяч строк адресов. Такая реализация вообще возможна на нем, и как адекватно и быстро она сможет работать? Или не стоит заморачивать этим голову и оставить задачу для более серьезного софта?
Заполнить ячейки со смещением по условиям дат и разности дней
 
Всем привет. Прошу подсказать как решить задачку во вложении. Что-то и в голову кроме кучи "если" не приходит. Аж интересно стало. Еще и по дням недели раскидать....
Наиболее быстрый способ удаления строк VBA
 
Всем добрый вечер. Возник вопрос, каким способом можно наиболее быстро удалить строки в примере во вложении. Необходимо удалить все строки с минимальной датой. Дело в том в реальности строк в файле под миллион, циклы и фильтры очень тяжело работают.
Перемещение файлов в папку с учетом накопленного размера VBA
 
Добрый вечер всем. Хотел спросить, может кто сталкивался по работе и у него завалялся примерный набросок кода на задачу. В опеределенной папке есть файлы, их требуется по определенной маске (в условие задачи не входит) собирать в создаваемые внутри папки подпапки, которые создаются по части имени этих файлов (много файлов имеют одинаковую определенную часть), но до того момента пока объем перемещенных файлов (или подпапки с файлами, что из чего удобнее) не превысит 20 мб. Если след перемещаемый файл нарушает это условие, создается подпапка из той же части имени но префиксом 1 и т.д, в конце имени.
Подстановка через scripting.dictionary с учетом пропусков
 
Добрый вечер. Не могу додуматься как в решении во вложении, где идет постановка, сделать так, что если данные не найдены в массиве 2, не подставлялись данные из первого массива, а было пусто. Буду благодарен за подсказку. Кнопка макроса на первом листе.
Отбор дубликатов на отдельный лист VBA
 
Добрый вечер, господа эксперты, подскажите что-нибудь универсальное для отбора дубликатов строк по условию в одном столбце на отдельный лист. Так чтобы в исходном массиве этот дубль удалялся, а на новом листе были все повторы строк - сколько их было в начальном. Везде на эту тему только отбор уникальных через коллекции, дубли никого не интересуют, а по работе нужно для анализа - какие данные вызывают задвоение.
Меню фильтра в Excel, добавление своих пунктов, регулярные выражения
 
Добрый вечер. Господа, подскажите, можно ли добраться до структуры меню фильтра и добавить свои пункты меню и подменю?
И вопрос 2 сразу - стандартные средства Excel, не поддерживают регулярные выражения на фильтрацию, например: нет чисел в текстовой строке,
строка заканчивается на две цифры, в строке есть 5 цифр подряд и т.п?
Изменено: Djinn - 03.02.2018 23:18:59
Не работают макросы на других ПК
 
Добрый вечер.
По работе столкнулся в неожиданной проблемой. На своем ПК разрабатываю  и тестирую макросы, проверяю на двух ПК, своем и удаленном.Все работает. Здесь офис 2013 x32, на втором 2013 x64. Как только файл с макросом уходит пользователям на другой ПК - отказывается работать. Причем макросы разные, а ошибка всегда она и та же - Excel просто аварийно завершает работу и пишет что документы будут восстановлены на след сеансе. Ошибка на разных макросах, возникает в разных местах. некоторые успевают отработать, некоторые нет. Никаких особых функций в них не используется, один вообще работает внутри одной книги. Все опции по активному содержимому и безопасности у всех включены как нужно. Может у этих сотрудников старая глюченная локализация офиса (хотя тоже 2013x64)? Или файл при пересылке по почте повреждается - видел раз сообщение что запуск содержимого запрещен, т.к. файл получен из внешних источников. Сообщение убрал, параметры выставил - все равно Excel вылетает.
Какие могут быть варианты? Как вылечить?
Попробую в понедельник передать через сетевой диск, а не по почте. Может корп. системы безопасности как-то блочат(повреждают) эти файлы?
Заставить файлы в цикле Do Loop открываться в определенной последовательности
 
Добрый вечер. Господа эксперты, подскажите как в цикле Do Loop можно открывать (обрабатывать) файлы в папке в определенной последовательности, а не хаотично. В имени файла есть признак очередности открытия - имя файла начинается с числа 1,2,3 и т.д. Номера могут быть с пропусками - 1,4,5,8. Число файлов заранее не известно.  
Ускорить функции обработки массивов данных, VBA
 
Добрый вечер. Господа эксперты подскажите как можно применять функции к массиву данных (на одном столбце) без применения цикла, не перебирая каждую ячейку. Простые и поддающиеся применяю через Evaluate, но прокатывают далеко не все. Вот например функция удаления шаблона текста из строки.
Код
Function DI(text As String) As String
    Set myRegExp = CreateObject("VBScript.RegExp")
    With myRegExp
         .Pattern = "\d{10}"
         .Global = True
         .MultiLine = True
         .IgnoreCase = False
    End With
    DI = Trim(myRegExp.Replace(text, ""))
End Function

По одной перебрать не проблема, только функций таких много и разных, и большие массивы данных.
Получить строку с сайта в Excel VBA
 
Добрый вечер. Господа эксперты подскажите, как получить нужную строку с сайта после запроса в ячейку листа. К запросам к сайтам не очень ориентируюсь, попробовал приведенные по поиску коды, но увы, все они как-то открывают сайт повторно и это вызывает ошибку. Нужно после кода ниже, получить с полученной страницы отметку статуса. В данном случае "Ликвидировано (18.10.2016)".
Код
Sub Федресурс()
   Dim IE As Object
    Set IE = CreateObject("InternetExplorer.Application")
    IE.Visible = True
    IE.Navigate "https://www.fedresurs.ru/"
    While IE.Busy Or (IE.readyState <> 4): DoEvents: Wend
    With IE.document
        .getElementsByName("searchString")(0).Value = Range("a3")
        .getElementsByTagName("button")(0).Click
    End With
            IE.Navigate "https://www.fedresurs.ru/search/entity?code=" & Range("a3") & ""
End Sub
Авторизация на сайте VBA через Chome
 
Добрый день. Господа эксперты, подскажите, как переписать образец авторизации на сайте через IE для Google Chome. Я так понимаю Application его вызвать не удастся, возм. с помощью Shell , но как составить строку вызова не знаю.
Код
Private Sub Test()
On Error Resume Next
    Set IE = CreateObject("InternetExplorer.Application")
    With IE
        .Visible = True
        .Navigate "http://www.planetaexcel.ru/"
        Do While .Busy Or .readyState <> 4
            DoEvents
        Loop
      Set Login1_Us = .document.getElementsByTagName("Input")
      Login1_Us("USER_LOGIN").Value = "Djinn"
        Set Login1_Password = .document.getElementsByTagName("Input")
        Login1_Password("USER_PASSWORD").Value = "*******"
        Set LoginButton = .document.getElementsByTagName("Input")
        LoginButton("Login").Click
        Do While .Busy Or .readyState <> 4
            DoEvents
        Loop
    End With
    Set IE = Nothing
End Sub
Не работает буфер обмена между файлами
 
Добрый вечер. Господа, подскажите в чем может быть проблема: после установки надстройки отказывается корректно работать буфер обмена. Если что-то скопировать в одном файле, в другой уже не вставить и кнопки вставки неактивны. Содержимое буфера пустое (даже если вернуться в прежний файл и ставить там).

В надстройке есть событие вида Windows.Activate, по которому в новых книгах ищется определенный заголовок столбца и на основании этого ему устанавливается числовой формат. Подозреваю что как раз это и сбрасывает буфер. Как можно обойти проблему? Событие вида Workbook.Open отказывается обрабатывать код по поиску столбца и установке формата.
Код
Private Sub App_WindowActivate(ByVal Wb As Workbook, ByVal Wn As Window)
    ColumnName = "acc_n": On Error Resume Next: Err.Clear
    Range("1:1").Find(ColumnName).EntireColumn.NumberFormat = "0"
End Sub
Поиск по вхождению из значения ячейки VBA
 
Добрый вечер. Господа, подскажите как правильно организовать поиск по вхождению из значения ячейки. Код ниже отказывается работать корректно.
Код
Sub test()
   
    a = Range("D1").Value
    If [A1:A97].Find("*" & a & "*", , , xlPart) Is Nothing Then
        MsgBox "1"
    Else
        MsgBox "2"
    End If
End Sub
Изменено: Djinn - 20.01.2018 17:54:04
"Умное протягивание" по видимым ячейкам.
 
Добрый вечер. Господа, подскажите, как изменить макрос, взятый с этого же сайта - умное протягивание вниз, так чтобы от протягивал только по видимым ячейкам и не трогал те, что под фильтром.
Код
Sub SmartFillDown()
    Dim rng As Range, n As Long
    rng2 = Cells.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
    Set rng = ActiveCell.CurrentRegion
    If rng.Cells.Count > 1 Then
        n = rng.Cells(1).Row + rng2 - ActiveCell.Row
        On Error Resume Next
        For Each cell In Selection
        cell.AutoFill Destination:=cell.Resize(n, 1), Type:=xlFillValues
        Next
    End If
End Sub
Обработка WorkBook_Open из надстройки
 
Добрый день. Прошу подсказать решение прблемы. Есть макрос, который должен вызываться из процедуры WorkBook_Open, т.е. при открытии книги. Если создавать в обычной книге с макросами - все работает. Но если создавать в надстройке, он не обрабатывается. Вообще если вставить например показ сообщения, то видно, чтобы событие WorkBook_Open в надстройке заканчивается раньше чем откроется текущая книга и макрос просто не успевает сработать, т.к. даже еще не появился лист с данными.
Код
Sub AO()
    ColumnName = "acc_n": On Error Resume Next: Err.Clear
    Range("1:1").Find(ColumnName).EntireColumn.NumberFormat = "0"
End Sub
Обработка событий вида Worksheet_Change из надстройки
 
Добрый вечер. Господа эксперты, поделитесь опытом, как можно реализовать обработку событий изменений на листе в книге без макросов, или из надстройки. Это в принципе возможно? Может есть какие-то обходные пути.
Застрял на макросе, который вставляет в файл эксель (из настройки) в заданный диапазон значений условия, выпадающий список. Сложность в том, что при выборе значения из выдающего списка, в соседней ячейке справа автоматически должно проставляться значение. А реализовать это можно как я понял только через Worksheet_Change.
Удалить индекс из адреса VBA
 
Добрый вечер. Господа эксперты подскажите строку кода на VBA  которая поможет найти 6 цифр подряд в смешанной строке из ячейки на листе, и затем вернуть эту строку, но без этих 6-ти цифр. Другие цифры тоже могут быть, но меньшего порядка - номер дома, квартиры.
Переделка и распространие
 
Добрый вечер.
Узнаете?

Вопрос автору, если начальная надстройка была переделана более чем на 60%, но с сохранением ряда прежних функций, возможно ли ее распространять от своего имени и на своих условиях?
Аналоги ВПР, нечувствитеьные к сортировке
 
Добрый вечер. Коллеги, подскажите аналоги обычного ВПР, не чувствительного к сортировке массива, но не такие тяжелые, как использование не по назначению СУММЕСЛИМН (адресно по 1 строке). Попадаются по работе очень несговорчивые массивы данных, со сцепками. Сортировать их сложно, ВПР глючит постоянно.
Сравнение в смешанном списке с предыдущим показателем
 
Добрый вечер, господа формулисты. Прошу помочь решить задачу. В файле (пример приложил) идут некие данные по уникальному коду и значению. Идти могут не по порядку, друг за другом, а в разнобой. Сортировать нельзя. В этом списке в отдельном столбце формулой нужно прописать, как изменился показатель по сравнению со своим предыдущим значением. Как-то универсально хотелось, чтобы формулу можно было протянуть. Думаю, что нужно сочетать ИНДЕКС, ПОИСКПОЗ и РАНГ, но не придумал как именно.
Фильтр по выделенным нескольким ячейкам
 
Добрый вечер, коллеги. Спасибо всем за ответы в предыдущих постах. Подскажите верную реализацию по следующей задаче. Пытаюсь сделать фильтр по выделенному (книга с макросом во вложении) на нескольких ячейках сразу, но макрос не корректно работает. После обработки видно что он ставит множественное условие в критерий равно, а не выделяет несколько элементов, как хотелось бы, хотя рекодер на это действие другого не записывает.
Одна форма на несколько обработок
 
Добрый вечер.
Коллеги, подскажите как использовать одну форму в VBA для нескольких макросов сразу. Точнее даже не форму, а кнопку. Форма содержит типичные TextBox с заданиями дат, а кнопка вызывает разные SQL запросы. Чтобы не клепать десяток форм, можно как-то в одной сделать? Единственное что приходит на ум, это создание нескольких кнопок на одном месте и скрытие/отображение их в коде. Но может можно поизящнее?
Суммирование в интервале и операции с соседним столбцом
 
Вечер добрый, господа эксперты Excel. Прошу помочь решить задачу в примере вложенного файла.  Суть в подсчете интервалов по показателю норматива. Если показатель норматива меньше 100%, тогда мы суммируем все значения 1 от текущего показателя норматива (включительно) до предыдущего показателя норматива + значения 2 предыдущего показателя меньше 100%. минус значения 2 текущего показателя норматива. Простыми формулами сделал, хотелось бы одной, чтобы протянуть ее на 20 тыс. строк.
Страницы: 1
Наверх