Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Произвольный порядок печати страниц - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Произвольный порядок печати страниц (Формулы/Formulas)
Произвольный порядок печати страниц
DrMini Дата: Четверг, 14.04.2022, 14:00 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 835
Репутация: 47 ±
Замечаний: 0% ±

Excel LTSC 2021 RUS
Доброго времени суток форумчане и гости форума.
Возникла необходимость печати страниц с листа в произвольном порядке (выборочно).
Например как в Word: 1,3,5-7 (страницы.)
Оказалось (к моему удивлению) в Excel такой возможности нет.
Порывшись в Internet наткнулся на надстройку KuTools в которой такая возможность печати реализована. Но в KuTools слишком много всего, что мне не пригодится.
Может, кто подскажет надстройку или макрос (макрос нежелателен в виду необходимости конвертировать файл в файл с поддержкой макросов) для реализации такой возможности в Excel?


Сообщение отредактировал DrMini - Пятница, 15.04.2022, 05:19
 
Ответить
СообщениеДоброго времени суток форумчане и гости форума.
Возникла необходимость печати страниц с листа в произвольном порядке (выборочно).
Например как в Word: 1,3,5-7 (страницы.)
Оказалось (к моему удивлению) в Excel такой возможности нет.
Порывшись в Internet наткнулся на надстройку KuTools в которой такая возможность печати реализована. Но в KuTools слишком много всего, что мне не пригодится.
Может, кто подскажет надстройку или макрос (макрос нежелателен в виду необходимости конвертировать файл в файл с поддержкой макросов) для реализации такой возможности в Excel?

Автор - DrMini
Дата добавления - 14.04.2022 в 14:00
_Boroda_ Дата: Четверг, 14.04.2022, 14:19 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16359
Репутация: 6352 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Макрос. Можно записать в Персонал и запускать с кнопки ПБД или ленты

[vba]
Код
Sub MoyPrint()
    On Error Resume Next
    ar = Split(Replace(Application.InputBox("Пример: 1;4-6;8-11;14", "Введите номера листов"), " ", ""), ";")
    If ar(0) <> "False" Then
        Application.DisplayAlerts = 0
        For i = 0 To UBound(ar)
            ar1 = Split(ar(i) & "-" & ar(i), "-")
            s1_ = ar1(0)
            s2_ = ar1(1)
            Err.Clear
            ActiveWindow.SelectedSheets.PrintOut From:=s1_, To:=s2_, Copies:=1, Collate:=True
            If Err.Number = 0 Then
                t_ = t_ & vbLf & s1_ & "-" & s2_
            End If
        Next i
        Application.DisplayAlerts = 1
        t_ = "Напечатаны страницы " & t_
        MsgBox t_
    End If
End Sub

[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеМакрос. Можно записать в Персонал и запускать с кнопки ПБД или ленты

[vba]
Код
Sub MoyPrint()
    On Error Resume Next
    ar = Split(Replace(Application.InputBox("Пример: 1;4-6;8-11;14", "Введите номера листов"), " ", ""), ";")
    If ar(0) <> "False" Then
        Application.DisplayAlerts = 0
        For i = 0 To UBound(ar)
            ar1 = Split(ar(i) & "-" & ar(i), "-")
            s1_ = ar1(0)
            s2_ = ar1(1)
            Err.Clear
            ActiveWindow.SelectedSheets.PrintOut From:=s1_, To:=s2_, Copies:=1, Collate:=True
            If Err.Number = 0 Then
                t_ = t_ & vbLf & s1_ & "-" & s2_
            End If
        Next i
        Application.DisplayAlerts = 1
        t_ = "Напечатаны страницы " & t_
        MsgBox t_
    End If
End Sub

[/vba]

Автор - _Boroda_
Дата добавления - 14.04.2022 в 14:19
DrMini Дата: Четверг, 14.04.2022, 15:20 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 835
Репутация: 47 ±
Замечаний: 0% ±

Excel LTSC 2021 RUS
Александр,
Большое спасибо. Всё работает.
Я только для удобства заменил разделитель ";" на ","
[vba]
Код
ar = Split(Replace(Application.InputBox("Пример: 1;4-6;8-11;14", "Введите номера листов"), " ", ""), ";")
[/vba]
на
[vba]
Код
ar = Split(Replace(Application.InputBox("Пример: 1,4-6", "Введите номера листов"), " ", ""), ",")
[/vba]
Это не приведёт в дальнейшем к каким ни будь глюкам?
Я в VBA вообще ничего не понимаю.
 
Ответить
СообщениеАлександр,
Большое спасибо. Всё работает.
Я только для удобства заменил разделитель ";" на ","
[vba]
Код
ar = Split(Replace(Application.InputBox("Пример: 1;4-6;8-11;14", "Введите номера листов"), " ", ""), ";")
[/vba]
на
[vba]
Код
ar = Split(Replace(Application.InputBox("Пример: 1,4-6", "Введите номера листов"), " ", ""), ",")
[/vba]
Это не приведёт в дальнейшем к каким ни будь глюкам?
Я в VBA вообще ничего не понимаю.

Автор - DrMini
Дата добавления - 14.04.2022 в 15:20
_Boroda_ Дата: Четверг, 14.04.2022, 15:22 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16359
Репутация: 6352 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Да вроде не должно


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеДа вроде не должно

Автор - _Boroda_
Дата добавления - 14.04.2022 в 15:22
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Произвольный порядок печати страниц (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2022 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!