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

Страницы: 1 2 3 След.
"Can't find project or library". Проблема при открытии и сохранение книги
 
Добрый день, нужна помощь с одной проблемой, действия:
Иногда при сохранение книги происходит ошибка.
"Can't find project or library" . После чего не могу никак сохранить книгу. Хотя я тулзы кроме базовых не использую. В чем может быть проблема. Книгу не могу приложить, к сожалению.
Ошибка при открытии и сохранение документа.
 
Добрый день, подскажите если кто сталкивался. При открытии файла, пишет «Can’t find project or library». Хотя я ничего не делал в vba уже давно. При попытке зайти в References ничего не открывается, и не показывает никакие ошибки. При попытке сохранить книгу, пишет «ошибка при сохранении, возможно сохранится, если внести исправления, нажимаю дальше, там опять выбор папки и так по кругу.
PQ. Обратить таблицу. поставить на голову
 
МатросНаЗебре, спасибо, чет я сам не додумался, вроде нужный мне диапазон изменил, а это, не додумал.
PQ. Обратить таблицу. поставить на голову
 
МатросНаЗебре, спасибо, но я немного запутался, как в этом коде проигнорировать шапку? Вам пример работает хорошо и быстро, можно ли обратить без учета шапки?

Андрей VG, а можно кстати этот запрос из PQ отобразить в VBA? У меня просто там много действий с книгами на VBA и делать отдельно запрос через PQ, не удобно.

DrillPipe, спасибо, но не хочется так поступать) выглядит не эстетично.
PQ. Обратить таблицу. поставить на голову
 
Добрый день, в Power Query есть кнока "обратить таблицу", тоесть перевенуть таблицу верх ногами ( не транспонировать). Как это сделать макросом на VBA. Подскажите, я такой кнопки в стандартном excel не нашел (хотел подсмотреть в макрекодере)
Проставить метку на группированные данные PQ
 
PooHkrd, вот верный пример
Проставить метку на группированные данные PQ
 
PooHkrd, я добавил пример. Группировка по ID_zeta проходит
Проставить метку на группированные данные PQ
 
Добрый день, подскажите как проставить метки на группированные подсписки в PQ. У меня есть метод маркировки строк, как в примере снизу. Данные группируются по параметру, после чего из них находиться максимальное(самое новое по дате) и ставиться "да". Вопрос в другом, как сделать так, что-бы в полученой группе, находилась строка "а" и там ставилось "да"(в новом столбце), а в остальных "нет", если строки нет, то смотрит есть ли строка "б" и ставит "да", если такой нет, то проверяет есть ли строка "в" и ставит "да", а у всех других кроме найденной строки ставит "нет".
Код
let
    Source = Excel.CurrentWorkbook(){[Name="1sd"]}[Content],
    originalOrder = Table.AddIndexColumn(Source, "id"),
    local = Table.Group(originalOrder, {"OKRID"}, {"temp", (sub) =>
        Table.AddColumn(sub, "Маркер", each if [DATE_V] = List.Max(sub[DATE_V]) then "Да" else "Нет")
    })[temp],
    common = Table.Combine(local),
    #"Sorted Rows" = Table.Sort(common,{{"id", Order.Ascending}}),
    result = Table.RemoveColumns(#"Sorted Rows", {"id"})
in
    result
Изменено: Argo9 - 12.03.2020 17:47:01 (добавил пример)
Добавление строк в массив
 
Hugo,
Код
Sub Delete_Rows()

Dim Prom_arr(), ActiveDeals_arr(), nesw_arr() As Variant
Dim arr()
Dim lcnt& 'счетчик элементов массива

Prom_arr = ThisWorkbook.ActiveSheet.Range("A1").CurrentRegion.Value
close_deals = Workbooks("Отчет.xlsm").Sheets(1).Range("A1").CurrentRegion.Value


Z = "06.Закрыта/Заключена"

For lr = UBound(close_deals, 1) To LBound(close_deals, 1) Step -1
    If Z = close_deals(lr, 14) Then
    x = close_deals(lr, 8)
    ff = False
        For lrr = UBound(Prom_arr, 1) To LBound(Prom_arr, 1) Step -1
            If x = Prom_arr(lrr, 28) Then
           ff = True
            Exit For
            End If
        Next lrr
    
    If Not ff Then
'тут надо добавлять строки из диапазона выше(по найднным индексам) в массив.  
    End If
    
End If
Next lr

End Sub



надеюсь внесет ясность. Мне сами индексы не нужны как-бы, лишь итоговый диапазон, он получает строк 5 максимум. Файлы загрузить не могу, дома попробую, фаервол не разрешает.
Изменено: Argo9 - 18.02.2020 19:08:49
Добавление строк в массив
 
Дмитрий(The_Prist) Щербаков, нужно всю строку с этим индексом записывать, не только ее индекс, а всю строку под этим индексом в новый массив.

извиняюсь что так не ясно. Просто мне казалось что это легко сделать, как в Python.
Изменено: Argo9 - 18.02.2020 18:57:11
Добавление строк в массив
 
Дмитрий(The_Prist) Щербаков, это же будет работать для двумерных массивов? Моя проблема в том, что я просто не понимаю как указать только одно измерение, ведь программа ожидает два.
Добавление строк в массив
 
buchlotnik, что-то я не понял. ReDim Preserve только изменяет размер массива сохраняя значения "до". Только как в него добавить строку, если вписать всего нужно две размерности, а мне известа только 1. Я не вкурсе можно ли задавать значения в массив только по одному измерению, ровно как и не могу вывести информацию со всей строки,

+https://excelpedia.ru/makrosi-v-excel/massivi-v-vba   здесь сказанно что изменять можно только правое измерение массива

МатросНаЗебре, спасибо, изучу.
Изменено: Argo9 - 18.02.2020 18:26:42
Добавление строк в массив
 
Добрый день,подскажите как решить. Нахожу индексы нужных строк из массива, хотелось бы в конце цикла добавлять строку по определенному индексу в конец нового массива(заранее создавая пустой массив) и возвращать в конце массив функцией.
Вопрос: как добавить строку в конец массива?
Добавление в динамический массив по индексу строки.
 
Вопрос исчерпан. Передал индекс в Rows(x)
Изменено: Argo9 - 17.02.2020 13:58:53
Добавление в динамический массив по индексу строки.
 
Добрый день, подскажите как в динамический массив(пустой) добавлять строки из другого массива зная индекс этих строк. Или как обратиться к строке массива по индексу? Что-то вроде Arr(1,0) или Arr(1,). Есть что-то подобное?
Перенос не повторяющихся значений.
 
Дмитрий(The_Prist) Щербаков, к счастью умею, но думал есть методы по аналогу с instr для строк. Или как в языке Python(там можно в одну строку это узнать). За совет со словарем спасибо, разведаю. Спасибо.
Перенос не повторяющихся значений.
 
Андрей_26, не поскажите синтаксис проверки нахождения записи массива на наличие в другом массиве?
Перенос не повторяющихся значений.
 
Цитата
Андрей VG написал:
Делаете self-reference таблицу на Power Query или SQL в документе 1. Запросом Power Query или SQL делаете выборку в документе 2 тех данных, которых нет в документе 1 и сливаете запросом назад в документ 1. Так как-то, если говорить об одной из концепций.

Спасибо, я думал о PQ, просто были задачи которые я решал с этим документом макросом, и думал засунуть все в VBA. Но одно другому не мешает, так что буду пробовать .
Перенос не повторяющихся значений.
 
Ваша ирония не уместна, я не просил решения. Файл не могу выложить физически, политика безопастности не позволяет выгружать файлы. Спасибо за помощь, но думал есть изящнее варианты.

Просто там нумерация идет по порядку и я думал ограничить диапазон поиска последними записями.
Условно: в документе последняя запись: "номер - 300" и просто перенести все с значением больше 300.
Изменено: Argo9 - 14.02.2020 11:04:55
Перенос не повторяющихся значений.
 
Добрый день, подскажите как можно реализвоать.

Есть два документа:
В документе 1 записанны значения в столбце в формате: "Текст - число". Например: "номер - 107"
В документе 2 такой же столбец с такими же значениями.
Нужно перенести не повторяющиеся строки из документа 2, в документ 1.
В документе 1 значений около 2-ух тысяч. В документе 2 их окоол 50, постоянно разные появляются(актуализируются).
Подскажите как реализовать перенос, то есть как найти эти строки которых еще нет в документе 1.
Прошу лишь концепцию, думал вытягивать цифры регулярками, потом по ним сравнивать. Но так все равно вложеные циклы делать и т.п. (опыта у меня мало в VBA)

P.S. Файлы к сожалению приложить не могу.
Переименование открытого файла, с присвоением цифр если таковых файлов в папке имена совпадают.
 
Мне всегда казалось что нельзя переименовывать файл пока он открыт.
Быстродействие (скорость работы) в MS Excel
 
Спасибо за помощь! Буду изучать, надеюсь вопросов не останется.

Jack Famous, вам отдельное спасибо.
Быстродействие (скорость работы) в MS Excel
 
А что скажете по поводу визуализации? (форматирования, сводных таблиц, гистограмм?)
А если формулы прописывать в запросе PQ? Это будет лучше чем код в VBA?
Быстродействие (скорость работы) в MS Excel
 
Добрый день, подскажите кто знает.

Есть документ, в нем формулы по 4 столбцах. Записей примерно 6000 и около 30 столбцов. Есть сводные таблицы на других листах, гистограммы, ссылки на сводные таблицы, вообщем полный фарш. Документ весит 4 мгб(вроде как немного)
Он как-то очень медленно работает, хочется его оптимизировать.
Просьба дать совет, если я напишу формулы как макросы в vba, этот метод будет эффективнее чем протягивать формулы для новых записей?
Сводные таблицы и форматирование ячеек\текста сильно влияет на производительность?
И есть ли какая нибудь масштабная статья по этому вопросу?

p.s. У книги1 есть запрос к бд oracle, к этой книге1 сделал запрос к таблице в  книге2. Если в книге 2 обновить все данные, в книгу1 подтянуться новые строки?
Изменено: Argo9 - 12.12.2019 11:19:38
PQ, Отмечать записи, после которіх значение не повторяется
 
Андрей VG, запрос отличный, спасибо, но есть вопрос. А что если "Зашел" и "Посмотрел" будет в один день? Как он будет понимать какому ставить маркер? Может быть индексировать записи в таблице и проверять на индекс?
PQ, Отмечать записи, после которіх значение не повторяется
 
Stics, попробовал, Олег вроде должен стать "Да", но не стал. Или я не так сделал что-то?

Андрей VG, с планшета делал, простите. вот нормальный пример (только там последний столбец формула предложенная Стиксом
PQ, Отмечать записи, после которіх значение не повторяется
 
Рад что всем весело))
Простите за ошибки))
Тема: Формула для учета повторений.

Выложил пример, нужно по значению столбце С проверять. Дай совет пожалуйста.
Значения по убыванию в документе ( от старых к новому) если после этой записи значение не повторяется, то писать да.

Можно ли в PQ создавать новый столбец с формулой ? Пробовал написать цикл, тоже не получилось.
Изменено: Argo9 - 22.11.2019 23:00:36
PQ, Отмечать записи, после которіх значение не повторяется
 
Добрый день, прошу подсказать.
Выгружаю данный с бд на лист Excel. Нужно реализовать формулу для выгружаемых данных.
В столбце A уникальное значение. Если ключ не повторяется ниже по таблице, то написать "Да" , а у всех других с таким же ключом в таблице написать "Нет". Другими словами "Да" должен быть только у последней записи с таким ключом, у остальных нет.
Лучше сделать формулу, или макрос, или изменить запрос в PQ? Пробовал сделать после выгрузки на лист, но расчет идет долго очень. Да и формула вроде не правильна была)
Дай совет, пожалуйста.
выделение e-mail из текста ячейки
 
Адрес почты каждый раз одинаковый ? или разный?
Вложенный цикл для другой книги
 
ocet p, за совет с Getobject огромное спасибо!
По поводу lLastrow, разве это важно? Я ведь это делаю или на активном листе или через блок with.

Код
zakl.Activate
For j = 2 To lLastRow&
    If Cells(j, 5) = data_now  Or Cells(i, 3) = DateAdd("d", -4, data_now)  And Cells(j, 4) = "принята" Then
        inn = Cells(j, 11)
        summ_deal = Cells(j, 31)
        With reestr
        For l = 2 To lLastRow&
            If .Cells(l, 5) = inn And .Cells(l, 12) = "все норм" Or .Cells(l, 12) = "тоже норм" And .Cells(l, 15) = "Да" Then
                .Cells(l, 12).Value = "Пшено есть"
                .Cells(l, 11).Value = data_now
                .Cells(l, 20).Value = summ_deal  
...
        Next
        End With


Вот как в примере? Разве нужно указывать необходимый лист? Вариант у lastrow мало, ведь zakl.activate и with reestr это и есть листы
Изменено: Argo9 - 19.11.2019 17:45:31
Страницы: 1 2 3 След.
Наверх