Nordheim, благодарю!
динамические изменения с параметрами в UserForms
динамические изменения с параметрами в UserForms
22.02.2021 11:47:05
Всем привет!
При создании UserForms столкнулся с тем, что при привязке кнопок к написанным процедурам с параметрами, один из которых является название листа, возникает следующая проблема: в случае если я хочу изменить название листа, то мне приходиться менять соответствующий параметр в каждой процедуре, которая привязана к кнопке. Ниже две процедуры, которые при нажатии на соответствующие кнопки удаляют или создают лист в книге(CommandButton1_Click, CommandButton2_Click). Если я хочу изменить название удаляемого/создаваемого листа с "Main" на "Главный лист", то мне необходимо это сделать в двух процедурах (CommandButton1_Click, CommandButton2_Click). Хотелось бы изменить всего лишь в одном месте. Как это можно реализовать? Подскажите, пжл, как подойти к решению этой проблемы? Спасибо!
Изменено: |
|||
|
Долгая передача данных из recordset в массив методом Getrows (VBA)
Долгая передача данных из recordset в массив методом Getrows (VBA)
13.02.2021 17:47:53
Всем привет.
При оптимизации скорости работы инструмента столкнулся с тем, что при росте числа строк в recordset время передачи данных методом getrows в массив увеличивается.
Проблемы возникают при 30к-100к строк. Пробовал сначала выгружать на отдельный лист через CopyFromRecordset и после считывать данные в массив. Такой вариант мне не очень нравится чисто стилистически, хотя при этом время работы макроса сокращается. В случае отсутствия каких-либо альтернатив, конечно, вернусь к нему. Подскажите, пжл: 1. Есть ли возможность и как оптимизировать эту часть кода таким образом, чтобы сократить время передачи данных из recordset в массив до пару сек? На текущий момент время = 300с. 2. Ускорит ли операцию передачи данных из recordset в массив смена версии excel с 2010(32 бит) на 2016(64 бит)? Спасибо!
Изменено: |
|||
|
проблема с двссыл при создании связанного динамического выпадающего списка
проблема с двссыл при создании связанного динамического выпадающего списка
18.03.2019 01:09:38
vikttur, а есть аналог? или как можно решить данную проблему? кроме умных таблиц
Изменено: |
|
|
проблема с двссыл при создании связанного динамического выпадающего списка
VBA: недостаточно памяти или ресурсов
VBA: недостаточно памяти или ресурсов
VBA: недостаточно памяти или ресурсов
17.01.2019 00:19:07
vikttur, БМВ, ребят, в макросе нет ничего особенного. я бы выложил, но файлик большой. облаками не пользуюсь.
в макросе выгружаются данные через sql. дальше пару строк аля
в таком стиле действий много. в итоге на строчке columns("C").insert макрос багается. там 26 тыс строк это не так много. На сишарпе память автоматически чистится. на плюсах ее нужно чистить. но так или иначе там есть для этого команды. Скорее всего есть и на вба. БМВ, насчет установки 64 битного: если ты когда нибудь работал в компании, то должен понимать, что многие макросы писались другими людьми до твоего прихода и переустановка офиса может привести к новым багам. если просят помощи именно в поиске определенного метода то если знаешь этот метод - напиши его и приложи пример пжл. а писать советы которые никак не помогут не нужно. по делу пжл. Спасибо за отклик))) |
|||
|
VBA: недостаточно памяти или ресурсов
16.01.2019 23:36:37
Всем привет.
Столкнулся с такой проблемой: при запуске макроса на 32 битном офисе в excel выскакивает ошибка "Недостаточно памяти или ресурсов...". Каким образом, можно очистить оперативную память? сразу скажу, что переход на 64-битный офис невозможен: 32битный офис позволяет подрубаться к sql, но переход на 64битный офис не позволяет по той же строке подключения подрубиться к sql. да и много макросов нужно будет переписать, чтобы работать на 64 битном офисе. поэтому вариант только один: задать программно очистку памяти. Спасибо. Очень жду помощи! |
|
|
UDF: ВПР, который согласно приоритету тянул бы нужное значение.
31.12.2018 16:13:25
artyrH,подошло вроде. Спасибо. Но для второго кода товара выдает ошибку.
я решил это немного по другому:
|
|||
|
UDF: ВПР, который согласно приоритету тянул бы нужное значение.
31.12.2018 11:45:11
2) все верно, в этом случае нужно тянуть первый попавшийся контракт. Таких контрактов может быть очень много. я привел в пример всего 2 для удобства и экономии времени. Вот не знаю как переделать VLOOKUP2. Уверен что есть способы работы с массивами, которые позволяют в самом ВПР фильтровать массив по нужному критерию: например, если в ячейке C2 вбить следующую формулу:
|
|||||||||
|
UDF: ВПР, который согласно приоритету тянул бы нужное значение.
31.12.2018 01:55:29
Всем привет.
Пытаюсь написать Для этого воспользовался макросом с excel-planet.
Но проблема как раз в том чтобы определить это n. Есть три типа контракта: ОСНОВНОЙ(НОНФУД И ПРИКАССА), ПУШ И ОТГРУЗКА. Приоритет следующий: Если есть ПУШ, то тянем ПУШ КОНТРАКТ, если нет ПУШ КОНТРАКТА-тянем ОСНОВНОЙ КОНТРАКТ, если нет ОСНОВНОГО и ПУШа, то тянем ОТГРУЗКУ. Если есть какие-нибудь другие идеи как можно решить эту задачу, то прошу подсказать. СРАЗУ ГОВОРЮ, ЧТО СОРТИРОВКА И ПРОЧИЕ СПОСОБЫ С ДОБАВЛЕНИЕМ СТОЛБЦОВ И ИЗМЕНЕНИЕМ ПОРЯДКА МАССИВОВ НЕ ГОДЯТСЯ! СПАСИБО! |
|||
|
Проблема выбора значений по условию в фильтре сводной (Pagefield) с помощью VBA
02.12.2018 17:00:07
Добрый день.
Прошу помочь, если кто знает, как можно выставить условный фильтр(pagefield) в сводной таблице. Интересует именно общая концепция того, как это делается. Читал Уоккенбаха, но там не нашел того что мне нужно. В идеале хотелось бы, чтобы я мог проставить "галочки" на тех значениях, которые мне нужны. Но так как по умолчанию фильтр устроен таким образом, что на всех элементах проставлены уже "галочки", то я пробовал задавать обратное условие: Мне нужно выбрать все даты, которые меньше "16/12/2018". Тогда я прописывал, что если значение больше или равно "16/12/2018", то в таком случае необходимо присвоить свойству visible константу false. Идея моего способа заключалась в следующем: снять все галочки и поставить только на первом pivotitem. После чего задать условие что можно выделять сразу несколько pivotitems и уже если условие выполняется ставить галочку на нужном pivotitem. В конце с первой pivititem галочку убрать. Но условие работает как-то некорректно. Не могу понять в чем ошибка. Буду очень благодарен, кто скинет русскоязычный гайд или подскажет кодом как это можно сделать. ссылка на файл вместе с макросом ниже. В макросе есть комментарии, где именно мне нужна помощь. Благодарю. |
|
|