Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 След.
Михаил Витальевич пропал
 
Что случилось с Михаилом Витальевичем — кто в курсе?
Дурные мысли лезут в голову, т.к. контакты его молчат…
Реквизиты для благодарностей — в профиле
Мыльная подсветка синтаксиса в коде
 
Почему подсветка в коде стала мыльная?
Планируется ли менять?
На всех браузерах ли так? У меня Win7 Prof x64, Chrome

Я уже подумал, что зрение посадил  :D
Реквизиты для благодарностей — в профиле
Вставка строк срабатывает некорректно на отфильтрованном диапазоне
 
Доброго времени суток, Планетяне!

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

Вот схожая (но про другое) моя тема: Умные таблицы. Вставить строки
Коды
Изменено: Jack Famous - 29 Апр 2020 20:16:28
Реквизиты для благодарностей — в профиле
Варианты округления в VBA, Поиск самого быстрого
 
Доброго времени суток, Планетяне!

Тестовый стенд делать не буду, но результаты скажу  :)

Итак, что я знаю на данный момент по тестам на 150 тыс элементов массива:
  • --Format$() шустрее WorksheetFunction.Round() ~ 1,5 раза (Format или  Format$ — на скорость не повлияло)
  • Round() шустрее --Format$() ~ 2 раза
  • CCur() где-то на уровне --Format$(), но всегда 4 знака - не подходит
Вопрос: кто какие ещё методы/способы округления знает? Протестирую на своих данных

Скрин (собственно, сам участок кода):
  • 47 тыс строк
  • 3 столбца с округлением до 6ти
  • 3 столбца с округлением до 4ёх
  • 12 столбцов с округлением до 2ух

P.S.: Я в курсе, что Round использует "банковское округление" — ради скорости пренебрёг
Изменено: Jack Famous - 18 Апр 2020 15:18:20
Реквизиты для благодарностей — в профиле
Полное (расширенное) сравнение двух списков (столбцов)
 
Доброго времени суток, Планетяне!

Время от времени по вопросам из общей ветки вижу необходимость в подробном сравнении двух списков между собой с выводом отчёта, поэтому выкладываю свою версию на основе оригинальной идеи (откуда узнал именно я) BlackBox: Расширенное сравнение двух колонок (списков)

Модуль «MAIN» (основной)
Модуль «WORK» (вспомогательный)

  • поддерживает предварительное выделение для первого списка
  • поддерживает выделение столбцов целиком (обрезает до рабочей области)
  • поддерживает работу со скрытыми строками (учитывает только видимые или игнорирует фильтр)
  • прочие проверки

ПЛЮСЫ:
  • в десятки раз быстрее BlackBox на больших объёмах
  • нет классов, для работы нужно всего 2 модуля («WORK» нужен для проверок, сортировки и диалоговых окон выделения диапазона)

МИНУСЫ:
  • нет заливки (замедляет выполнение и легко сделать самому по фильтрам, если очень надо)
Изменено: Jack Famous - 3 Мар 2020 10:49:45
Реквизиты для благодарностей — в профиле
Подписка на форум, Как получать письмо на почту при появлении новых тем в какой-либо «ветке» форума
 
Доброго времени суток, Планетяне!

Вопрос в названии:
хочу, чтобы, при появлении новых тем (в ветке "Курилка", например), мне приходило сообщение на почту, как при подписке на обновления темы
Реквизиты для благодарностей — в профиле
Как обнулить (не отключить) накопленные события книги
 
Доброго времени суток, Планетяне!

Есть книга, в которой я хочу на событие книги Пересчёт листа (Private Sub Workbook_SheetCalculate) повесить запуск своего макроса.
В этом макросе присутствуют пересчёты книги Application.Calculate и, чтобы они снова не вызывали событие в цикле, я отключаю их с помощью Application.EnableEvents=False. Вроде всё логично…
В тестовом файле «Событие пересчёта» воспроизведённый случай отработал без проблем:
Проблема в том, что в рабочем файле (сюда скинуть не могу) он работает по-другому, а именно, после включения событий обратно (Application.EnableEvents=True), он не просто их (события) включает, но и запускает, тем самым образуя цикл…
Модуль книги с событием
Модуль с аналогами функций листа на макросах (ВПР и СУММЕСЛИ)
Модуль с функциями для заполнения диапазонов листа (FILE_TableFill_All)
Модуль с функциями проверки таблиц (FILE_TableCheck_All)
Пробовал и DoEvents и выход по флагам, как костыль — всё без толку  :(
Есть идеи?
Изменено: Jack Famous - 15 Янв 2020 16:23:49
Реквизиты для благодарностей — в профиле
Учёт показаний приборов. Тонометр (верхнее давление, нижнее давление и пульс)
 
Доброго времени суток, Планетяне!

Порядок действий:
  0. ввести вручную на листе "НАСТРОЙКИ" контрольные (оптимальные) значения для измерения отклонений.
Достаточно сделать ОДИН раз — при первом запуске.
  1. ввести вручную дату в столбец "B"
  2. выбрать из списка период ("1-утро", "2-день" или "3-вечер") в столбце "C"
  3. заполнить вручную столбцы "D", "E" и "F"  в соответствиями с показаниями тонометра

График на отдельном листе диаграммы построится автоматически
В таблице подсвечиваются абсолютные отклонения (по модулю). Чем краснее - тем хуже

Пользуйтесь на здоровье!  :)
Изменено: Jack Famous - 14 Янв 2020 16:56:01
Реквизиты для благодарностей — в профиле
Связанные умные таблицы с большим объёмом данных. Как ускорить пересчёт?
 
Доброго времени суток, Планетяне!

Есть 2 таблицы:
  • в родительской таблице 10 тыс. строк
  • в дочерней МИНИМУМ 10 тыс. строк (по факту всегда примерно в 2 раза больше, чем в родительской), т.к. там одна строка родительской может повторяться несколько раз (связь "один-ко-многим")
  • я тяну из родительской в дочернюю разную информацию (по короткому уникальному ключу) - порядка 5-10 полей (столбцов)
На 5 тысячах всё было довольно шустро, но уже на 10ти комп начал сильно призадумываться

Алгоритм (автопересчёт у меня в таких файлах всегда выключен):
  1. разумеется, первое, что я сделал, это в отдельное поле прописал ПОИСКПОЗ по ключу (чтобы вычислить его один раз, а не для каждого поля) и остальные поля просто тяну ИНДЕКСом со ссылкой на поле с ПОИСКПОЗ
  2. следующее, что я собираюсь сделать, это заменить функции ПОИСКПОЗ, СУММЕСЛИ(МН) и СЧЁТЕСЛИ(МН) на макросы (НЕ макрофункции, а макросы со вставкой)

Собственно, вот мы и подошли непосредственно к вопросу: если позиция уже вычислена, то "долго ли" ИНДЕКСы будут тянуть столбцы? Иными словами, как сильно будет тупить пересчёт?

Я понимаю, что вопрос сильно нуждается в практике и я её выполню (и отпишусь), но может, кто-то на своём опыте может уже сказать? Лично я пока склоняюсь к тому, что любая замена функций (что обычных, что макро) на вычисления внутри кода с последующей вставкой на лист всегда будет шустрее. И чем больше данных, тем более явный прирост в скорости. Основная проблема при этом только в том, что структура таблиц пока не утряслась и при любых движениях нужно будет править код

Ссылка на файл
Моя старая тема «Самый быстрый способ подтягивать значения по ключу»

P.S.: кому интересно, на таких объёмах УФ уже сильно тормозит пересчёт — применять минимально или вообще отказаться
Изменено: Jack Famous - 26 Дек 2019 14:26:02
Реквизиты для благодарностей — в профиле
Нечёткий поиск / Fuzzy Lookup: как повторить или подключиться через VBA
 
Доброго времени суток, Планетяне!

Знаю несколько вариантов (ссылки внизу), но всё не то — лучше надстройки варианта не нашёл, отсюда вопрос, можно ли ей управлять через VBA и как?
Вопрос переноса кода из надстройки не задаю, т.к. там, как я понял, вообще не VBA…
Ну и есть ещё вариант использовать нечто похожее — делитесь, кто знает  :idea:

Ссылки:
Скачать надстройку с сайта мелкомягких
Нечеткий текстовый поиск с Fuzzy Lookup в Excel (описание надстройки в приёмах)
Fuzzy Matching - new version plus explanation (Варианты нечёткого поиска на VBA)
Нечёткий поиск (Perfect Excel)
Простая метрика сходства текстовых строк (ExcelWorld)
Нечёткий поиск в тексте и словаре (матчасть с Хабра)
Изменено: Jack Famous - 18 Дек 2019 12:22:33
Реквизиты для благодарностей — в профиле
Формат ячеек. Числовой, с разделителями разрядов и без хвостовых нулей
 
Доброго времени суток, Планетяне!

Чё-то никак допереть не могу — можно ли (и как) составить маску формата ячейки, чтобы одновременно и разряды отображались "### ### ###" и знаки после запятой, но без хвостовых нулей ("### ### ### ##0.00 не подходит")

P.S.: в общем формате при длинном числе вообще хвостов не видно и кажется, что одно и то же (это не так и там числа, как в "хотелось бы")
Изменено: Jack Famous - 2 Дек 2019 16:45:48
Реквизиты для благодарностей — в профиле
Математика. Сравнение. Отклонение между двумя числами, Как быстро и правильно узнать
 
Доброго времени суток, Планетяне!
В таблицах часто возникает необходимость сравнения контрольных чисел и вычисление отклонения в %

Пока что родил только такую формулу:
=ЕСЛИ([@1]>[@2];
ОКРУГЛ([@1]/[@2]-1;4);
ОКРУГЛ([@2]/[@1]-1;4))


Вопрос: есть ли какая-нибудь встроенная функция для такого анализа?
P.S.: может я не совсем корректно сравниваю?…
Изменено: Jack Famous - 26 Ноя 2019 16:04:34
Реквизиты для благодарностей — в профиле
Изображения. Почему прикрепить «*.JPG» можно, а «*.JPEG» нельзя
 
Вопрос в названии темы. Будет ли исправлено или игра не стоит свеч?  :)
Изменено: Jack Famous - 25 Ноя 2019 09:35:58
Реквизиты для благодарностей — в профиле
Прогрессия (или нет). Олимпиадная задача для первоклассников
 
Доброго времени суток, Планетяне!
Что за зверь и как решить (в Excel, разумеется)?  :D
Изменено: Jack Famous - 25 Ноя 2019 09:32:19
Реквизиты для благодарностей — в профиле
Текст по столбцам, VBA-аналоги встроенных инструментов
 
Доброго времени суток, Планетяне!

Начинаю новый цикл тем по эффективной реализации на VBA популярных инструментов Excel.
Замечания и предложения приветствуются
Процедура + функция
Изменено: Jack Famous - 15 Ноя 2019 13:54:54
Реквизиты для благодарностей — в профиле
Преобразование диапазона чисел в их последовательность
 
Доброго времени суток, Планетяне!

Может не очень хорошо искал, но примеры нашёл только в архиве и на сайте Дмитрия Щербакова
Вот решил сделать и выложить на общий суд свою версию. Конструктивная критика приветствуется  ;)
2 функции
Сортер
Пример использования
нужно вызывать только одну функцию: PRDX_List_FromString

Примеры:
Применение функций для получения перечня строк/столбцов из адреса диапазона
Изменено: Jack Famous - 21 Окт 2019 12:40:24
Реквизиты для благодарностей — в профиле
Изменения в дизайне основной ветки
 
Доброго времени суток, Планетяне!

У меня глючит хром или у нас изменения в правой части?
Изменено: Jack Famous - 10 Окт 2019 11:17:32
Реквизиты для благодарностей — в профиле
Проверка с помощью УФ нескольких масок на содержание в строке
 
Доброго времени суток, Планетяне!
Тема, вроде популярная, но я нашёл только вот это решение.

Мне нужно настроить правило УФ, которое бы подсвечивало ячейку, если в ней содержится хотя бы одно значение из заданных.
Пока остановился на вот такой штуке =(ЕОШ(ПОИСК("петя";$A2))+ЕОШ(ПОИСК("витя";$A2)))<2 — то есть мы проверяем формулу ПОИСК на ошибку, если есть, то значение не найдено, если есть у всех, то сумма этих проверок = сумме условий, а всё, что меньше - значит хоть одно выполнилось и не вызвало ошибку. Можно как-то проще сделать или быстрее/правильнее?

Основная проблема при подходе "в лоб" = ИЛИ(ПОИСК("петя";$A2);ПОИСК("витя";$A2)), это то, что при отсутвии значения как раз будет ошибка #ЗНАЧ и всё условие НЕ ВЫПОЛНЕНО…
Изменено: Jack Famous - 16 Сен 2019 14:01:16
Реквизиты для благодарностей — в профиле
Почему у некоторых команд VBA нет подсказок?
 
Доброго времени суток, Планетяне!

Примеры команд:
    • Exit Sub/Function (решено)
    • LBound/UBound
    • ActiveSheet. (после точки нет подсказок)

Позднее связывание не интересует, т.к. там нет подсказок из-за того, что не видна библиотека и это вроде "удалённой" с ней работы.
Изменено: Jack Famous - 6 Сен 2019 11:05:50
Реквизиты для благодарностей — в профиле
Получение массива из диапазона листа, игнорируя скрытые ячейки
 
Доброго времени суток, Планетяне!

Вопрос не новый, но хотелось бы прояснить:
обычно, чтобы получить массив из значений только видимых ячеек выделенного диапазона, Selection.SpecialCells(xlVisible) копируют и вставляют на временный лист и потом с этого листа забирают данные в массив обычным способом

Можно ли как-то ускорить этот процесс?
Я подумал вот о чём: мы же когда копируем видимые ячейки в буфер, то там уже все эти данные есть. Совершенно незачем создавать лист, вставлять данные на него, забирать их в массив и удалять лист. Вот только как эти данные достать из буфера?
Изменено: Jack Famous - 29 Авг 2019 13:30:20
Реквизиты для благодарностей — в профиле
Форма с поиском по маске. Поиск и вставка значений активного столбца
 
Доброго времени суток, Планетяне!

Надстройка создана на основе формы с поиском и служит для поиска и вставки одного или нескольких значений из активного столбца по аналогии с инструментом из PLEX'а Выпадающий список с автопоиском

v 1.0
Инфа по подключению есть в соседней теме (не хочу копипаст устраивать), да и принцип полностью одинаков для версии фильтра 1.1, кроме действий с выбранными из формы значениями. Там активный столбец по ним фильтруется, а тут они вставляются в ячейку через разделитель (если 2 и более) или просто вставляется, если выбрано одно
Вызов в примере (модуль книги)
Единственный немного отличающийся модуль «FRM_Search_FindInActiveColumn»

Последняя актуальная версия надстройки/кода теперь в родительской теме
Изменено: Jack Famous - 3 Сен 2019 14:47:56
Реквизиты для благодарностей — в профиле
Форма с поиском по маске. Фильтр по активному столбцу
 
Доброго времени суток, Планетяне!

Ранее создал тему, о форме с поиском и, в качестве примера рассматривал фильтр по активному столбцу. Пришло время вынести этот пример в отдельную тему.

Хотя данная тема и использует форму с поиском из другой моей темы но могут быть отличия в названиях (макросов, модулей, форм и глобальных переменных)
v 1.0
ОСОБЕННОСТИ:
    • вся фильтрация зашита в один модуль + событие книги для вызова по даблклику на любом листе (1 строка)
    • сделано в виде отдельной надстройки (форма с кодом + модуль для формы + модуль для фильтрации)
    • требует, чтобы фильтруемый диапазон содержал шапку и начинался с первой ячейки листа
    • работает с "умными" таблицами и обычными диапазонами
    • учитывает формат данных (ikki помог)
    • работает только с полным (нефильтрованным диапазоном). Если диапазон был отфильтрован, то все фильтры будут сброшены
    • как использовать:
           1. подключить надстройку
           2. создать ссылку на надстройку: в редакторе Tools -> Preference поставить галочку напротив PaRADoX_FilterActiveColumn или перетащить мышкой (если выбрать форму запуска в виде макроса на панели задач (кнопка), то ссылка не нужна)
           3. запустить макрос фильтрации любым удобным методом. Ссылки есть в v 1.1
Код
Option Explicit
'===========================================================================================
Private Sub Workbook_SheetBeforeDoubleClick(ByVal sh As Object, ByVal target As Range, Cancel As Boolean)
Cancel = True: FILE_Range_FilterActiveColumn
End Sub
Модуль для фильтрации

Последняя актуальная версия надстройки/кода теперь в родительской теме
Изменено: Jack Famous - 3 Сен 2019 14:47:31
Реквизиты для благодарностей — в профиле
Форма с поиском по маске. Как найти и получить одно или несколько значений
 
Доброго времени суток, Планетяне!

==================================================
Изначально эта была тема об альтернативе инструменту "Выпадающий список с автопоиском" из версии PLEX 2019.1 от 10 августа 2019 г., но после было решено обобщить тему до принципа работы формы (передача, поиск и возврат данных).

Спасибо всем, кто помогал и продолжает это делать на нашем любимом форуме!  :idea:
Отдельная благодарность за постоянные улучшения и объяснения Alemox  ;)


Последняя версия: 1.7: «All-In-One» от 04/09/2019
==================================================

Инструменты, работающие на основе такой формы (начаты по ссылкам, но впоследствии объединены тут в ОДНУ надстройку):
Фильтр по активному столбцу
Поиск и вставка значений активного столбца

Ссылки:
Альтернатива выпадающему списку (форма с поиском)_2 [GIG_ant] из Копилки
nerv_DropDownList (описание + открытый код)
Форма с поиском. Как наполнить форму, искать по ней и вставлять данные
Формы. Как заполнять одну и ту же форму (ListBox) разными данными в зависимости от выделения
Пользовательские формы. Создание прокрутки по-горизонтали (ScrollBar Left/Right)
Формы. Как исправить "обрезанное" отображение данных в ListBox
==================================================
Выставляю на общий суд и для активного использования форму для поиска по активному столбцу. Форма очень шустрая.

ОБЩИЙ ПРИНЦИП ДЕЙСТВИЯ
    1. при запуске макроса, берутся все ячейки столбца кроме пустых (длина строки = 0) и ячеек-прочерков (значение ячейки = СИМВОЛ(151))
    2. Формируется одномерный массив (LBound=0) уникальных значений
    3. Массив сортируется и выводится в форму
    4. В строке поиска (маска) из служебных символов работает только "*" (любое количество любых символов). Остальные («arrSym()») будут удалены.
    5. Маска по-умолчанию ищет БЕЗ учёта регистра и по всей строке: маска = "*" & маска & "*"
    6. Наличие ведущей "*" можно регулировать кнопкой "искать по всей строке"
    7. В активную ячейку можно вставить одно или несколько (будут сцеплены через "; ") значений
    8. Выделить несколько значений можно, зажав ЛКМ или через Ctrl. Работает отмена выделения.
    9. Можно ничего не выделить, тогда будет предложено вставить ВСЁ, что отсеяно маской (видно в окне) на текущий момент

ЧТО НУЖНО ДЛЯ РАБОТЫ: скопировать модуль и форму (перетащить мышью в редакторе) из файла-примера у свой

ПРИМЕР ВЫЗОВА: "ФормаПоискаПоАктивномуСтолбцу". В данном файле срабатывает по даблклику (событие листа)
Модуль
Форма
Вдохновлён автором сайта (обновление PLEX), обучен на данном форуме  :D
Изменено: Jack Famous - 29 Ноя 2019 15:20:08
Реквизиты для благодарностей — в профиле
Регулярные выражения. RegExp. Заменить символы между двумя цифрами
 
Доброго времени суток, Планетяне!
Не думал, что так тупану  :D выручайте

Есть строка, в которой нужно заменить видимые знаки "умножения" (типа буквы "ха" в кириллице и "экс" в латинице) на звёздочку.

То есть шаблон должен быть что-то вроде "(\d)( *)(?=X|x|Х|х)( *)(\d)":
• между 2мя цифрами стоит "ха" или "икс"
• буквы могут быть в обоих регистрах
• могут быть отбиты одним и более пробелами с каждой из сторон или пробелы могцт отсутствовать (совсем или с одной стороны)
Что накалякал
Тестер
Реквизиты для благодарностей — в профиле
bedvit. Как использовать решения автора, COM и XLL. Отличие и подключение
 
Доброго времени суток!
Пытаюсь разобраться с решениями от bedvit'а…

UPD: теперь всё находится в одном месте и в одной надстройке. Библиотека подключается как обычная надстройка и регистрируется в реестре сама. Всё, что остаётся сделать — подключить ссылку на библиотеку для раннего связывания или просто использовать позднее (медленнее)
Пример программного раннего связывания (и «развязывания»  :D ) из #6
Изменено: Jack Famous - 9 Авг 2019 14:10:10
Реквизиты для благодарностей — в профиле
Импорт данных из PDF в Excel, Как массово получить данные из PDF-файлов с текстовым слоем в Excel
 
Доброго времени суток, Планетяне!
Развитие темы, описанной в Приёмах…

Задача: получить данные из нескольких больших PDF-файлов со сметами, не потеряв кодировку и структуру таблиц.
Вопрос: как это сделать максимально быстро/удобно/корректно?

Как сейчас: объединяю все PDF в 1 и далее по заветам НВП  :)
Текущие основные проблемы: в лучшем случае ОООЧЕНЬ долго, в худшем — синий экран смерти или просто зависание с вылетом

UPD: можно зайти со стороны "Импорт данных из PDF в Word", т.к. макрос пакетного копипаста "Word-Excel" уже есть, а сам метод копипаста (на моём примере) ничего не сбивает, но хотелось бы более "технологичный" подход, да и тема тогда будет другая, так что пока так…

UPD2: пока что решил таки делать — если PDF не вылетает при пересохранении в Word, то потом просто делаю копипаст (макросом быстрее и стабильнее) в Excel.
Для некоторых примеров сработает даже прямое пересохранение PDF в Excel.
Изменено: Jack Famous - 26 Июл 2019 16:21:30
Реквизиты для благодарностей — в профиле
Сжать пробелы. Как эффективно удалить двойные, а также ведущие и хвостовые пробелы, СЖПРОБЕЛЫ или Trim
 
Доброго времени суток, Планетяне!

На 1 млн одинаковых строк (усреднённо в секундах):
Сравнение по времени
Коды
Эксперименты

Вопрос: можно ли ещё как-то ускорить?
Возможный вариант: хороший шаблон для RegExp, который бы сразу разобрался с ведущими и хвостовыми пробелами кроме задвоенных и при этом сделал это быстрее штатной Trim :D
Изменено: Jack Famous - 24 Июл 2019 14:52:44
Реквизиты для благодарностей — в профиле
Как скопировать несколько листов с "умными" таблицами в другую книгу, «Невозможно скопировать или переместить группу листов содержащих таблицу»
 
Доброго времени суток, Планетяне!
Создал тему, чтобы сохранить у себя в закладках, т.к. решения не нашёл и подсмотрел у автора сайта  :)

Очевидное решение - копировать по одному листу в цикле, НО ошибка всё-равно появляется. Оказывается, достаточно просто снять выделение с группы листов (ActiveSheet.Select) и всё — можно копировать массивом всё и сразу  ;)
Пример кода
спасибо, Николай Владимирович!  :)

Тема с таким же вопросом по PLEX'у
Метод копирования выделенных листов без цикла (Казанский) (не сработает для умных таблиц)
Изменено: Jack Famous - 11 Июл 2019 16:10:02
Реквизиты для благодарностей — в профиле
Редизайнер. Power Query (PQ). Свернуть столбцы по группам
 
Доброго времени суток, Планетяне!

Туплю чёт, т.к. редко использую…
Подскажите, как в PQ корректно свернуть столбцы, чтобы преобразовать таблицу, как в примере?
В файле присутствует запрос и вывод его на лист.
Изменено: Jack Famous - 2 Июл 2019 12:17:36
Реквизиты для благодарностей — в профиле
Копирование активной книги/файла
 
Доброго времени суток, Планетяне!

Есть такая функция, которая при попытке передачи oldPath=ActiveWorkbook.FullName выдаёт ошибку 70: Permission Denied. Дэ-юре это вроде как попытка скопировать защищённый файл, но дэ-факто, она просто не даёт скопировать Активную книгу, т.к. её же, но из другого файла копирует без проблем
Код
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' КАК СРЕДСТВАМИ VBA ПЕРЕИМЕНОВАТЬ/ПЕРЕМЕСТИТЬ/СКОПИРОВАТЬ ФАЙЛ
' https://www.excel-vba.ru/chto-umeet-excel/kak-sredstvami-vba-pereimenovatperemestitskopirovat-fajl/
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Function PRDX_Files_Copy(oldPath$, newPath$, Optional MsgIfTrue As Boolean, Optional MsgIfFalse As Boolean) As Boolean
FileCopy oldPath, newPath: PRDX_Files_Copy = True
If MsgIfTrue Then MsgBox "Файл успешно скопирован от пути «" & oldPath & "» по пути «" & newPath & "»", vbInformation, "PRDX_Files_Copy": Exit Function
If MsgIfFalse Then MsgBox "Не удалось скопировать файл от пути «" & oldPath & "» по пути «" & newPath & "»", vbCritical, "PRDX_Files_Copy"
End Function
Вопрос: как обойти это без использования ActiveWorkbook.SaveAs?

UPD: с перемещением/переименованием тоже самое, только другие номера/описание ошибок. Может можно как-то "отстраниться" от книги (кроме как создавать новую), скопировать её, и "вернуться"…
Изменено: Jack Famous - 14 Июн 2019 11:15:52
Реквизиты для благодарностей — в профиле
Страницы: 1 2 3 4 5 След.
Наверх