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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 149 След.
Как ускорить код, задающий параметры печати
 
Цитата
Счастливчик написал: А как поменять? Просто поменять везде XPS на PDF?
В коде в 2х местах вместо Like "*XPS*" нужно записать Like "*PDF*" , получится:
Вот измененный фрагмент кода для PDF принтера:
Код
' Temporary set up PDF printer
  If Not sPrnName Like "*PDF*" Then
    sBuf = String(2 ^ 14, Chr(0))
    i = GetProfileString("Devices", vbNullString, vbNullString, sBuf, Len(sBuf))
    sBuf = Left(sBuf, i)
    For Each vFileName In Split(sBuf, Chr(0))
      If vFileName Like "*PDF*" Then
        sXpsName = vFileName & " (Ne" & Right("00" & j, 2) & ":)"
        Application.ActivePrinter = sXpsName
        Exit For
      End If
      j = j + 1
    Next
  End If

Цитата
Счастливчик написал: Огромнейшее спасибо за помощь!
Пожалуйста, надеюсь, сработает побыстрее.
Изменено: ZVI - 28.04.2024 16:14:17
Как ускорить код, задающий параметры печати
 
Цитата
cuprum написал: ZVI , спасибо, взял себе на всякий случай.
Доброе утро! Конечно, надеюсь, пригодится  :)
В коде можно поменять *XPS* на *PDF* или название другого принтера, если нужно.
Как ускорить код, задающий параметры печати
 
Цитата
Счастливчик написал: А можно как-то сам код оптимизировать кроме того, что уже улучшено, чтобы он быстрее работал?
Проверяйте:
Код
Изменено: ZVI - 28.04.2024 06:23:23
Как ускорить код, задающий параметры печати
 
Цитата
Счастливчик написал: Так а как тогда настроить в файлах виртуальный принтер?
Цитата из #19:
Цитата
ZVI написал:
Выберите вручную один из этих принтеров до запуска кода. Если эффект будет, то активный принтер устанавливается и программно (это отдельный вопрос)
Вы проверили, есть эффект?
Выбранный вручную (или программно) активный принтер устанавливается для всех файлов, открываемых в Excel.
Изменено: ZVI - 28.04.2024 01:27:20
Как ускорить код, задающий параметры печати
 
Судя по вопросам и комментариям, в VBA у Вас особого опыта нет.
Ничего страшного, но лучше об этом явно написать, чтобы сэкономить всем время
А то мы советы даем в расчете на навыки в VBA.
Тогда описать  проблему можно было бы так:
Здравствуйте!
У меня есть папка с файлами XLS.
Хотелось бы выбрать в диалоге эту папку, а затем поочередно открывать книги в ней, и в параметрах страницы каждого (?) листа  устанавливать книжную ориентацию и разместить не более, чем на 1 страницу в ширину (и 1 (?) страницу в высоту).
Другие параметры страниц не менять(?).
После этого нужно автоматически их сохранить и закрыть.
Спрашивать о необходимости сохранения изменений - это лишнее (?).
Использую приложенный медленный код. Он написан с использованием макрорекордера (?).
Открытие книг и установка параметров страницы тормозит: 23 файла обрабатываются несколько  минут.
Принтер - сетевой (?).
C VBA опыта немного, самостоятельно оптимизировать код не получается.
Помогите, пожалуйста, с вариантом кода для ускорения обработки
.


Там, где (?) - нужно уточнить.
Изменено: ZVI - 28.04.2024 05:41:06
Как ускорить код, задающий параметры печати
 
Цитата
Счастливчик написал: ...Покажите, пожалуйста, как будет выглядеть мой код с использованием этого метода?
Зачем? Я же в #7 привел Вам нормальный современный код, который дает тот же эффект, и пояснил это в #19.
Цитата
Счастливчик написал:...чтобы он быстрее работал
См. про виртуальный принтер в #19.
Цитата
заходить в каждый файл и ставить его там - это конечно не вариант.
Такое никто не предлагал же
Изменено: ZVI - 28.04.2024 00:15:56
Как ускорить код, задающий параметры печати
 
Цитата
Счастливчик написал: Не понял, это вместо моего кода?  А открытие файлов это ускорит?...
Вы иронизируете или правда не понимаете код? Это не готовое решение, а чей-то пример использования метода, альтертативного Application.PrintCommunication, который применяли давно до появления PrintCommunication.
Ответ по ускорению открытия файлов был в сообщении #7:
Цитата
ZVI написал: ... перед загрузкой выбрать виртуальный принтер
Виртуальный принтер - это чисто программный принтер без физического железа. Обычно используется для записи (распечатки) в файл.  Вот 2 виртуальных принтера, которые использует Excel:
 
Эти картинки можно увидеть из Excel на ленте Файл - Печать, или при нажатии Ctrl-P.
Выберите вручную один из этих принтеров до запуска кода.
Если эффект будет, то активный принтер устанавливается и программно (это отдельный вопрос).
Изменено: ZVI - 27.04.2024 23:44:47
Обратный рассчёт плана продаж ПОМОГИТЕ!, На основании планов продаж по 3-м критериям необходимо скорректировать базовый план продаж
 
Цитата
babulia написал:
Это выдуманные цифры
Это понятно, но интересовал процесс работы менеджеров.
Разве не странно, что им присылают пустые ячейки?
Разумнее же, чтобы там уже были значения, соответcтвующие прогнозу, приведенному в  A:D.
Или у них в должностных инструкциях записано требование по навыкам с СУММЕСЛИ?

С моей точки зрения, все столбцы [План продаж] должны приходить к менеджерам заполненными, а в столбце [План1 - План] они должны вписать свои корректировки в новый [План1]. Например, для Таблицы 4:

И отображать копейки в планах - лишнее
Изменено: ZVI - 27.04.2024 11:13:19
Как ускорить код, задающий параметры печати
 
Цитата
Счастливчик написал:
код перестал работать
Ну это никак не может быть связано с тем, что я советовал.
Может, что-то не так добавили или зацепили.
Чтобы найти проблему нужно закомментировать On Error Resume  Next и отладить код, например, построчно, нажимая F8.
Глядя на код было впечатление, что о VBA и отладке какое-то представление имеется.
Как уточнил  Алексей (Jack Famous), рекомендованные строчки правильнее вставлять до  и после цикла For-Next, так как ранее есть выходы из кода по Exit Sub, хотя это для данного кода не критично.

Цитата
Подскажите, пожалуйста, как всё это сделать?
"Вид - Обычный, а не Страничный/Разметка" означает вкладку Вид на ленте:
Изменено: ZVI - 27.04.2024 01:42:55
Обратный рассчёт плана продаж ПОМОГИТЕ!, На основании планов продаж по 3-м критериям необходимо скорректировать базовый план продаж
 
Цитата
babulia написал:
Добавил нужные цифры
Доброе утро!
Интересно, каким инструментом пользуются 3 менеджера для изменения плана с 8-ю разрядами после запятой, чтобы баланс сошелся?
Не вручную же )
Почему на Integer считает, а на Double нет
 
Цитата
Astronaut написал:
не понимаю в чем проблема.
Нужно, чтобы в VBA разделителем целой и дробной части была точка.
Как посмотреть, что там запятая: Debug.Print "=RC[-2]*" & x
Замените & x на & Replace(x, ",", ".")
или на & Trim(Str(x))
Изменено: ZVI - 25.04.2024 21:06:27
Как ускорить код, задающий параметры печати
 
Добрый день.
В начале кода добавьте эту строку:
Application.PrintCommunication = False
а в конце:
Application.PrintCommunication = True

Чтобы ускорить открытие книг,  сохраняйте их при Вид - Обычный, а не Страничный/Разметка
Можете еще перед загрузкой выбрать виртуальный принтер
Изменено: ZVI - 25.04.2024 20:40:05
Добавление данных в таблицу из двух других, описание условий в файле
 
Цитата
МатросНаЗебре написал:
Ладно, покинул чат
Владимир,  вернитесь!
Извиняюсь, ошибся темой и веткой...
Изменено: ZVI - 24.04.2024 13:50:33
Добавление данных в таблицу из двух других, описание условий в файле
 
del (ошибся темой и веткой)
Изменено: ZVI - 24.04.2024 13:50:03
Макрос "почистить глобально ZVI" (почему увеличился размер файла многократно)
 
Цитата
Alex_ST написал:
Есть ещё один артефакт
Добрый день, Алексей!
Спасибо, да, есть такая проблема.
Обычно пустые фигуры - прямоугольники появляются и при копировании-вставке с сайтов.
Просто удалять, наверное, некорректно, нужно будет проверять, что они пустые. Давно напрашивается сделать к коду надстройку, подумаю.
Свойства и методы, установленные в VBA по умолчанию
 
Цитата
sokol92 написал:
Скрытый текст
Добрый день, Владимир!
Туда еще можно .ActiveWorkbook.ActiveSheet. втиснуть  :)
Макрос "почистить глобально ZVI" (почему увеличился размер файла многократно)
 
Цитата
irabel написал:
Если диаграмма находится правее (ниже) последнего столбца с данными (строки), то макрос удаляет такую диаграмму.Поправил немного код, заменил
Добрый день, спасибо! Учту у себя в коде.
Тормозит файл при работе, Тяжёлый файл Excel тормозит
 
Цитата
Zagadka написал:
Мне кажется, я его как раз и использовал...или какой-то более старый вариант
У Вас там была предыдущая версия №3 от 2010-06-16.
А здесь использовал версию №4 от 2019-03-08, в которой вместо очистки содержимого ячеек они удаляются вместе с форматами и т.п., подробности есть в теме по ссылке моего предыдущего сообщения.
Изменено: ZVI - 09.04.2024 13:17:54
Тормозит файл при работе, Тяжёлый файл Excel тормозит
 
Цитата
Zagadka написал:
Кто может что подсказать из своего опыта?
Добрый день!
Использовал код, который когда-то публиковал, сократило сильно (приложил).
На большинстве листах, если нажать Ctrl-End, то попадаем к последний столбец листа.
Это означает, что множество столбцов и их ячеек справа от данных избыточно попадают в используемый диапазон (UsedRange) и сохраняются в книге.
Изменено: ZVI - 09.04.2024 12:34:34
Макрос вместо формулы СЛУЧМЕЖДУ(), Случайное заполнение ячеек но не формулой а макросом с кнопкой
 
Цитата
Ярослав Малышенко написал:
Game over но в это время все могут читать текст.
Собственно, сообщение Game over - лишнее, достаточно очистки листа.
А задержать игру в Excel можно разными способами: двойной или правый клик, сочетание клавиш, например Ctrl-F, нажать что-нибудь на ленте с диалогом или сообщением и т.п. Фанаты Dictator application это тоже отключают, но здесь вряд ли имеет смысл. Приложил вариант без сообщений с таймером в формате "hh:mm:ss" и с блокировкой (код в модуле листа2) двойного и правого клика
Изменено: ZVI - 07.04.2024 03:01:34 (Исправлены кодовые имена листов на Sh1 и Sh2 - спасибо Владимиру (Sokol92)!)
Макрос вместо формулы СЛУЧМЕЖДУ(), Случайное заполнение ячеек но не формулой а макросом с кнопкой
 
Andypetr, доброе утро.
Да это хороший вариант, только автору темы, возможно, удобнее минуты и секунды отображать.
Ещё у автофигур обновление надписи прекращается при редактировании ячейки (по F2), а вот Application.StatusBar обновляется и в этом случае.
Прорабатывал вариант и с API-таймером с одной кнопкой Start/Stop без MsgBox-ов.
Но интерфейс пусть лучше себе автор темы выбирает.
Изменено: ZVI - 06.04.2024 10:00:01
Макрос вместо формулы СЛУЧМЕЖДУ(), Случайное заполнение ячеек но не формулой а макросом с кнопкой
 
Добрый день, правильнее тему было бы назвать "Копия диапазона, отсортированного в случайном порядке строк, с таймером"
Приложил решение.
Код
Изменено: ZVI - 06.04.2024 06:22:27
Не могу построить график по формуле тренда
 
Цитата
Шынполат написал:
Большое спасибо!
Рад, что проблему мы прояснили, удачи Вам!
Координатное выделение ячейки (ячеек), Программа для подсветки строк/столбцов выделенного диапазона ячеек
 
Цитата
Alex_ST написал:
кнопки включения/отключения на панелях не создаются...
Алексей, привет!
Кнопки создаются, где - я обозначил в предыдущем сообщении:
Цитата
В современных версиях Excel две кнопки надстройки будут на ленте на вкладке Надстройки.


Цитата
Хотел попробовать расковырять, а проект запаролен
А вот нечего ковырять что попало!  :)
Код собственно выделения, который в надстройке, открыт в Пример_таблицы_коорд_выделения_версия3.xls - см. модуль листа1, этот код работает и без надстройки. И обсуждался в той теме. Да и какая там в VBA защита...
Изменено: ZVI - 03.04.2024 18:56:28
Координатное выделение ячейки (ячеек), Программа для подсветки строк/столбцов выделенного диапазона ячеек
 
Добрый вечер всем.
Тема вечная )
Еще вот здесь выкладывал надстройку координатного выделения. Там в архиве есть файл Пример_таблицы_коорд_выделения_версия3.xls  для тестирования с объединенными ячейками и заголовками, на которых альтернативные варианты координатного выделения могут выглядеть не очень адекватно.
Также обычно в альтернативных решениях перемещение на очередную ячейку очищает буфер обмена и нельзя, например, пользоваться отменами по Ctrl-Z. И есть проблемы работы на защищенных листах.
Все эти нюансы были учтены в надстройке ZVI_CoordSelection.xla. Там 3-я версия, была и 4я, но отличия не принципиальные.
В современных версиях Excel две кнопки надстройки будут на ленте на вкладке Надстройки.
Одна из кнопок включает-выключает, вторая открывает форму выбора варианта выделения.
В архиве есть и справка.
Давно это было (2008г), но описанные нюансы до сих пор актуальны )
Изменено: ZVI - 03.04.2024 18:52:28 (Добавлено про работу на защищенных листах)
Не могу построить график по формуле тренда
 
У Вас 4 листа и 6 диаграмм и не очень понятно, с какими именно данными "такая же проблема".
Взял 'Тренд (проба)'!A2:C8, посчитал (см. приложение) коэффициенты тренда для yy в C14:C18 по формулам, приведенным в ссылке моего предыдущего письма. Затем по этим коэффициентам рассчитал значения в E3:E9 и построил расчетный график тренда (Trend yy). Коэффициенты и расчетные значения 'Trend yy' хорошо совпали со значениями встроенного полиномиального тренда диаграммы.
На основе приложенных расчетов посмотрите самостоятельно, что именно посчитано не так у Вас.
Изменено: ZVI - 31.03.2024 23:03:42
Не могу построить график по формуле тренда
 
Цитата
Шынполат написал:
Формат подписи линии тренда - установить "Числовой" формат сделал
Добрый день.
Увеличьте число десятичных знаков, например, до 12.

Описания проблемы нет, поэтому  совет - наугад.

Для точного определения коэффициентов различных типов трендов загляните в эту тему
Изменено: ZVI - 31.03.2024 17:40:19
Решение оптимизационной задачи о назначении, Необходимо распределить автобусы разной вместимости на конкретные рейсы с учетом мощности пассажиропотока на них
 
Цитата
Алексей Абраменко написал: ... заинтересовала эта задача
Добрый вечер, Алексей!
У Вас все выглядит логично, мне нравится!
Формулы можно немного упростить, но это не важно.
В реальных задачах должно еще существовать ограничение на автомобильный парк – сколько автомобилей определенной вместимости имеется, от этого зависит решение. Но здесь, похоже, задача теоретическая.
Освобождение объектов VBA Excel
 
Цитата
papaflash написал:
сложновато
Просто добавьте эту строку в начале кода:
Код
CreateObject("wscript.shell").Run "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255", 0, True
Освобождение объектов VBA Excel
 
Цитата
papaflash написал:
данные в получаемом ответе не обновляются
Данные кэшируются локально. Весь кэш браузера чистится, например, так:
CreateObject("wscript.shell").Run "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255", 0, True
С помощью API DeleteUrlCacheEntry можно чистить кэш конкретного URL.
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 149 След.
Наверх