Omnyblade Пользователь Сообщений: 6 |
#1 10.06.2019 14:19:02 Добрый день.
При первом запуске макрос отрабатывает корректно, но если второй раз запустить его в том же документе, то выдает ошибку. Как исправить макрос, чтобы работал при многократном запуске? Прикрепленные файлы
Изменено: Omnyblade — 10.06.2019 14:48:02 |
||
Юрий М Модератор Сообщений: 60575 Контакты см. в профиле |
Omnyblade, код следует оформлять соответствующим тегом: ищите такую кнопку (см. скрин) и исправьте своё сообщение. |
Ёк-Мок Пользователь Сообщений: 1775 |
#3 13.06.2019 02:41:15 ИМХО добавьте в код строку:
Удивление есть начало познания © Surprise me! |
||
sokol92 Пользователь Сообщений: 4445 |
#4 13.06.2019 11:46:20 Штатное решение:
Владимир |
||
Omnyblade Пользователь Сообщений: 6 |
#5 14.06.2019 11:20:36 Ёк-Мок, Спасибо, метод рабочий. Я бы еще добавил строку отключающую обработчик ошибок, чтоб остальные ошибки в макросе не прошли мимо
sokol92, спасибо за стандартное решение. Оно лучше, чем предложенный мной вариант. Изменено: Omnyblade — 14.06.2019 11:22:00 |
||
vikttur Пользователь Сообщений: 47199 |
#6 14.06.2019 11:21:50 Не стоит увлекаться обработчиком ошибок. |
Группа: Проверенные Ранг: Обитатель Сообщений: 344
Замечаний: |
Здравствуйте!
Ребята как через макрос, перед входом в окно просмотра печать,
[vba]
Код
Application.Sheets(«log_book»).PrintPreview ‘Вход в окно просмотра Печать
[/vba]
вписать все столбцы таблицы на одну страницу?
Пробовал макрорекордером определить, выдает объемный код и что конкретно необходимо выбрать для выполнения необходимого действия, неясно.
Сообщение отредактировал Сергей13 — Вторник, 10.12.2019, 23:10
mor_sergey 77 / 11 / 0 Регистрация: 28.03.2018 Сообщений: 828 |
||||
1 |
||||
07.10.2019, 20:42. Показов 5071. Ответов 8 Метки нет (Все метки)
товарищи, мне надо в коде написать, чтобы настройки страницы были ВПИСАТЬ ЛИСТ НА ОДНУ СТРАНИЦУ….
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
07.10.2019, 20:42 |
8 |
370 / 268 / 93 Регистрация: 18.11.2015 Сообщений: 990 |
|
08.10.2019, 08:37 |
2 |
Проблема здесь:
Private Sub Workbook_NewSheet(ByVal Sh As Object) Разместите Ваши настройки в нужном макросе
1 |
77 / 11 / 0 Регистрация: 28.03.2018 Сообщений: 828 |
|
08.10.2019, 08:46 [ТС] |
3 |
ArtNord, а где .как.я кучу строк написанных макрокодером с настройками вставлял….в итоге не запоминает ексель то, что мне надо…настройку
0 |
ArtNord 370 / 268 / 93 Регистрация: 18.11.2015 Сообщений: 990 |
||||
08.10.2019, 10:25 |
4 |
|||
Для текущей книги при каждом открытии Добавлено через 8 минут
1 |
77 / 11 / 0 Регистрация: 28.03.2018 Сообщений: 828 |
|
08.10.2019, 10:34 [ТС] |
5 |
ArtNord, код напечать, это я зря написал… когда выводим на печать(CTRL+P) по умолчанию вариант отображения на листе ТЕКУЩИЙ…..мне надо изменить умолчание на ВПИСАТЬ НА ОДНУ СТРАНИЦУ…. чтобы уважаемым юзерам не приходилось это делать самим…
0 |
ArtNord 370 / 268 / 93 Регистрация: 18.11.2015 Сообщений: 990 |
||||
08.10.2019, 11:04 |
6 |
|||
Добавлено через 3 минуты Добавлено через 1 минуту
1 |
77 / 11 / 0 Регистрация: 28.03.2018 Сообщений: 828 |
|
08.10.2019, 11:08 [ТС] |
7 |
ArtNord, да. Так и будут работать…Спасибо за консультацию
0 |
ArtNord 370 / 268 / 93 Регистрация: 18.11.2015 Сообщений: 990 |
||||
08.10.2019, 11:45 |
8 |
|||
Сообщение было отмечено mor_sergey как решение Решениеmor_sergey, сейчас покопался нашел:
Добавлено через 16 секунд Добавлено через 1 минуту Добавлено через 1 минуту Добавлено через 5 минут
1 |
77 / 11 / 0 Регистрация: 28.03.2018 Сообщений: 828 |
|
08.10.2019, 11:45 [ТС] |
9 |
ArtNord, Класс! теперь работает как надо.. Спасибо
0 |
The only thing I would want is to always set the ‘Fit all columns on one page’ setting when users open the Print tab in Excel.
And no, they don’t want to do it themselves. What a surprise
Here is a screenshot of where that is in Excel 2013:
Tried to look for some VBA code like the following but without success.
With Sheets("Print Letter").PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
ashleedawg
20k8 gold badges73 silver badges104 bronze badges
asked Sep 9, 2014 at 9:25
2
Try setting the .FitToPagesTall
to False
to be able to manually set the .FitToPagesWide
property.
MSDN link
If this property is False, Microsoft Excel scales the worksheet
according to the FitToPagesWide property. If the Zoom property is
True, the FitToPagesTall property is ignored.
Sub PrintColumns()
Application.PrintCommunication = False
With Sheets("Print Letter").PageSetup
.FitToPagesWide = 1
.FitToPagesTall = False
End With
Application.PrintCommunication = True
End Sub
answered Sep 9, 2014 at 9:29
3
Если у вас есть большой рабочий лист, содержащий много данных, и теперь вы хотите напечатать некоторые выбранные диапазоны, которые не являются непрерывными, на одной странице, чтобы вы могли сэкономить много бумаги. Excel предоставляет Установить область печати функция для нас, чтобы печатать несколько выборок одновременно, но каждый выбранный диапазон будет напечатан на одной странице отдельно. В этой статье будет рассказано о том, как напечатать несколько прерывистых выделений на одной странице.
Распечатать несколько выделений из одного рабочего листа на одной странице с кодом VBA
Распечатайте несколько вариантов из одного или нескольких рабочих листов на одной странице с помощью Kutools for Excel
Распечатать несколько выделений из одного рабочего листа на одной странице с кодом VBA
Чтобы распечатать несколько выбранных несмежных выборок одного рабочего листа на одной странице, следующий код VBA может помочь вам, пожалуйста, сделайте следующее:
1, нажмите Ctrl , чтобы выбрать диапазоны, которые вы хотите распечатать.
2. Удерживайте ALT + F11 ключи, и он открывает Microsoft Visual Basic для приложений окно.
3. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.
Код VBA: печать нескольких выделений на одной странице
Sub PrintOutRange()
'Updateby Extendoffice
Dim xRng1 As Range
Dim xRng2 As Range
Dim xNewWs As Worksheet
Dim xWs As Worksheet
Dim xIndex As Long
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xWs = ActiveSheet
Set xNewWs = Worksheets.Add
xWs.Select
xIndex = 1
For Each xRng2 In Selection.Areas
xRng2.Copy
Set xRng1 = xNewWs.Cells(xIndex, 1)
xRng1.PasteSpecial xlPasteValues
xRng1.PasteSpecial xlPasteFormats
xIndex = xIndex + xRng2.Rows.Count
Next
xNewWs.Columns.AutoFit
xNewWs.PrintOut
xNewWs.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
4, Затем нажмите F5 нажмите клавишу для запуска этого кода, и выбранные вами диапазоны будут напечатаны сразу, и они будут напечатаны на одной странице.
Распечатайте несколько вариантов из одного или нескольких рабочих листов на одной странице с помощью Kutools for Excel
Приведенный выше код может помочь вам распечатать выбранные диапазоны только с одного рабочего листа. Если вы хотите, чтобы несколько вариантов выбора из нескольких рабочих листов были напечатаны на одной странице, приведенный выше код не будет работать. Пожалуйста, не волнуйтесь, здесь я могу представить вам удобный инструмент — Kutools for Excel, С его Мастер печати множественного выбора Утилита, вы можете распечатать выбор из одного рабочего листа или нескольких рабочих листов одновременно на одной странице.
После установки Kutools for Excel, выполните следующие действия:
1. Нажмите Кутулс Плюс > печать > Мастер печати множественного выбора, см. снимок экрана:
2. В Мастер печати множественного выбора, нажмите , чтобы выбрать и добавить диапазон, который вы хотите напечатать, в поле списка «Диапазоны для печати» один за другим (вы можете выбрать диапазоны на одном или нескольких листах), нажмите Кнопка может удалить ненужные диапазоны, см. снимок экрана:
3. После добавления выбранных элементов в список, щелкните Следующая >> нажмите кнопку, чтобы перейти к шагу 2 мастера, укажите необходимые параметры печати, и вы можете добавить пустую строку между выбранными диапазонами, установив флажок Добавить пустую строку между диапазонами вариант, см. снимок экрана:
4. Затем продолжайте нажимать Следующая >> butoon, на шаге 3 мастера укажите действие для временного рабочего листа, вы можете активировать рабочий лист, но не печатать, распечатать рабочий лист и сохранить его или распечатать рабочий лист и удалить его. Смотрите скриншот:
5. Нажмите Завершить все выбранные диапазоны были вставлены на новый рабочий лист как связанные объекты изображения. И вы можете перетащить и переставить их на листе. Смотрите скриншот:
6. При печати этого нового рабочего листа диапазоны будут распечатаны на одной странице по мере необходимости.
Нажмите, чтобы узнать больше об этой утилите Print Multiple Selection Wizard.
Скачать и бесплатную пробную версию Kutools for Excel Сейчас !
Демонстрация: распечатайте несколько вариантов из одного или нескольких рабочих листов на одной странице с помощью Kutools for Excel
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!