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

Вход

Регистрация

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

 

= Мир MS Excel/Определить область печати макросом - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Определить область печати макросом (и установить параметры страницы)
Определить область печати макросом
Serge_007 Дата: Суббота, 19.02.2011, 01:40 | Сообщение № 1
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Есть файл, в котором несколько листов заполнены похожими (но не одинаковыми) по структуре данными.
Как макросом определить область печати без лишних строк/столбцов и отправить на печать данные отцентрировав их по горизонтали и установив масштаб таким образом, что бы по ширине получилась одна страница?
Спасибо.
К сообщению приложен файл: Print_Area.xls (20.5 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеЕсть файл, в котором несколько листов заполнены похожими (но не одинаковыми) по структуре данными.
Как макросом определить область печати без лишних строк/столбцов и отправить на печать данные отцентрировав их по горизонтали и установив масштаб таким образом, что бы по ширине получилась одна страница?
Спасибо.

Автор - Serge_007
Дата добавления - 19.02.2011 в 01:40
KuklP Дата: Суббота, 19.02.2011, 11:17 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Смотри. Дальше думаю, разберешься.
К сообщению приложен файл: 5626127.xls (50.5 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеСмотри. Дальше думаю, разберешься.

Автор - KuklP
Дата добавления - 19.02.2011 в 11:17
Serge_007 Дата: Суббота, 19.02.2011, 15:10 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Спасибо, но не всё получается.
На Лист 2 определяется область печати с A2 по С14, а должна быть с A2 по D14.


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеСпасибо, но не всё получается.
На Лист 2 определяется область печати с A2 по С14, а должна быть с A2 по D14.

Автор - Serge_007
Дата добавления - 19.02.2011 в 15:10
KuklP Дата: Суббота, 19.02.2011, 15:57 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
А так? На будущее - в строке:
PercentZoom = Int((450 / j) * 100)
число 450 подберешь как тебе надо. Чем оно больше, тем больше будет масштаб и наоборот.
К сообщению приложен файл: 8849600.xls (50.5 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Суббота, 19.02.2011, 15:59
 
Ответить
СообщениеА так? На будущее - в строке:
PercentZoom = Int((450 / j) * 100)
число 450 подберешь как тебе надо. Чем оно больше, тем больше будет масштаб и наоборот.

Автор - KuklP
Дата добавления - 19.02.2011 в 15:57
Serge_007 Дата: Суббота, 19.02.2011, 16:07 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (KuklP)
А так?

Тоже самое.

Quote (KuklP)
...число 450 подберешь как тебе надо...

Мне надо что бы не я его подбирал, а сам Excel smile


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (KuklP)
А так?

Тоже самое.

Quote (KuklP)
...число 450 подберешь как тебе надо...

Мне надо что бы не я его подбирал, а сам Excel smile

Автор - Serge_007
Дата добавления - 19.02.2011 в 16:07
KuklP Дата: Суббота, 19.02.2011, 16:17 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Он и так сам вычислит. А 450 это коэффициент масштабирования. Что масштабировать вычисляется в j. Этож не Ворд, где все в сантиметрах, тут надо поинты или твипы в сантиметры перепузыривать. Кстати прицепился не тот файл(как?). Цепляю тот.
К сообщению приложен файл: 5968215.xls (51.5 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеОн и так сам вычислит. А 450 это коэффициент масштабирования. Что масштабировать вычисляется в j. Этож не Ворд, где все в сантиметрах, тут надо поинты или твипы в сантиметры перепузыривать. Кстати прицепился не тот файл(как?). Цепляю тот.

Автор - KuklP
Дата добавления - 19.02.2011 в 16:17
Serge_007 Дата: Суббота, 19.02.2011, 17:45 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Вот это оно.
Спасибо.


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеВот это оно.
Спасибо.

Автор - Serge_007
Дата добавления - 19.02.2011 в 17:45
bygaga Дата: Пятница, 17.08.2012, 15:26 | Сообщение № 8
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003, 2007
Здравствуйте!
А можно ли что бы эту область Excel печатал в двух эекземплярах НО на ОДНОЙ стороне А4? То есть, один екземпляр вверху, а второй - внизу, + растянуть на целую А4 (для экономии бумаги smile )
 
Ответить
СообщениеЗдравствуйте!
А можно ли что бы эту область Excel печатал в двух эекземплярах НО на ОДНОЙ стороне А4? То есть, один екземпляр вверху, а второй - внизу, + растянуть на целую А4 (для экономии бумаги smile )

Автор - bygaga
Дата добавления - 17.08.2012 в 15:26
Michael_S Дата: Пятница, 17.08.2012, 16:07 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
Насколько знаю, Excel так не умеет.
 
Ответить
СообщениеНасколько знаю, Excel так не умеет.

Автор - Michael_S
Дата добавления - 17.08.2012 в 16:07
Формуляр Дата: Пятница, 17.08.2012, 16:49 | Сообщение № 10
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Serge_007, можно масштаб выставить проще:
[vba]
Code
Application.ExecuteExcel4Macro "PAGE.SETUP(,,,,,,,,,,,,{1,#N/A})"
[/vba]
С центровкой:
[vba]
Code
Application.ExecuteExcel4Macro "PAGE.SETUP(,,,,,,,,,True,,,{1,#N/A})"
[/vba]


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Пятница, 17.08.2012, 17:05
 
Ответить
СообщениеSerge_007, можно масштаб выставить проще:
[vba]
Code
Application.ExecuteExcel4Macro "PAGE.SETUP(,,,,,,,,,,,,{1,#N/A})"
[/vba]
С центровкой:
[vba]
Code
Application.ExecuteExcel4Macro "PAGE.SETUP(,,,,,,,,,True,,,{1,#N/A})"
[/vba]

Автор - Формуляр
Дата добавления - 17.08.2012 в 16:49
bygaga Дата: Понедельник, 20.08.2012, 17:56 | Сообщение № 11
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003, 2007
Quote (Формуляр)
Формуляр

неа, не получается - 1 копию на 1 стороне на весь А4 печатает. А нужно 2 копии на ОДНОЙ стороне А4, что бы потом разорвать на две части - одну отдать, а вторую себе оставить...
может бить, я что-то в коде должен изменить, а не просто Copy-Paste в модуль?
 
Ответить
Сообщение
Quote (Формуляр)
Формуляр

неа, не получается - 1 копию на 1 стороне на весь А4 печатает. А нужно 2 копии на ОДНОЙ стороне А4, что бы потом разорвать на две части - одну отдать, а вторую себе оставить...
может бить, я что-то в коде должен изменить, а не просто Copy-Paste в модуль?

Автор - bygaga
Дата добавления - 20.08.2012 в 17:56
Формуляр Дата: Понедельник, 20.08.2012, 18:07 | Сообщение № 12
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
bygaga,
этот ответ был не на ваш вопрос, а на основную тему.
На ваш вопрос ответил Michael_S.
Других мнений нет.

PS: А что, собственно, мешает продублировать ваш документ на том же листе Рабочей книги?


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Понедельник, 20.08.2012, 18:18
 
Ответить
Сообщениеbygaga,
этот ответ был не на ваш вопрос, а на основную тему.
На ваш вопрос ответил Michael_S.
Других мнений нет.

PS: А что, собственно, мешает продублировать ваш документ на том же листе Рабочей книги?

Автор - Формуляр
Дата добавления - 20.08.2012 в 18:07
RAN Дата: Понедельник, 20.08.2012, 18:21 | Сообщение № 13
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
bygaga, а что, два бланка один под другим сделать сложно? smile


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщениеbygaga, а что, два бланка один под другим сделать сложно? smile

Автор - RAN
Дата добавления - 20.08.2012 в 18:21
bygaga Дата: Понедельник, 20.08.2012, 18:29 | Сообщение № 14
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003, 2007
Quote (RAN)
RAN

нужно скопировать 160 бланков (каждый на одном листе, причем количество охватываемых ячеек сверху вниз разная) wacko про остальную работу уже молчу


Сообщение отредактировал bygaga - Понедельник, 20.08.2012, 18:33
 
Ответить
Сообщение
Quote (RAN)
RAN

нужно скопировать 160 бланков (каждый на одном листе, причем количество охватываемых ячеек сверху вниз разная) wacko про остальную работу уже молчу

Автор - bygaga
Дата добавления - 20.08.2012 в 18:29
Формуляр Дата: Понедельник, 20.08.2012, 22:31 | Сообщение № 15
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
[vba]
Code
Public Sub SetHalfPageZoom()
' Устанавливает масштаб страницы в 2 раза меньше подгона к 1 стр. по высоте
     Application.ExecuteExcel4Macro "PAGE.SETUP(,,,,,,,,,,,,{#N/A,1})"
     ActiveSheet.PageSetup.Zoom = 100 * ActvPageZoom / 2
End Sub

Function ActvPageZoom() As Double
Const MACRO_CMD_STR = "PAGE.SETUP(,,,,,,,,,,,,{#1,#2})"
Dim tPgN$, wPgN$

     With ActiveSheet.PageSetup
       If .Zoom > 0 Then
             ActvPageZoom = .Zoom / 100
       Else
         tPgN$ = IIf(.FitToPagesTall > 0, .FitToPagesTall, "#N/A")
         wPgN$ = IIf(.FitToPagesWide > 0, .FitToPagesWide, "#N/A")
             Application.ExecuteExcel4Macro "PAGE.SETUP(,,,,,,,,,,,,{#N/A,#N/A})"
             ActvPageZoom = .Zoom / 100
         Application.ExecuteExcel4Macro Replace(Replace(MACRO_CMD_STR, "#1", wPgN$), "#2", tPgN$)
       End If
     End With 'ActiveSheet.PageSetup
End Function
[/vba]

Для корректной работы размер листа при 100% масштабе должен быть больше 1 стр.
К сообщению приложен файл: FxdHdrSz.xls (37.0 Kb)


Excel 2003 EN, 2013 EN
 
Ответить
Сообщение[vba]
Code
Public Sub SetHalfPageZoom()
' Устанавливает масштаб страницы в 2 раза меньше подгона к 1 стр. по высоте
     Application.ExecuteExcel4Macro "PAGE.SETUP(,,,,,,,,,,,,{#N/A,1})"
     ActiveSheet.PageSetup.Zoom = 100 * ActvPageZoom / 2
End Sub

Function ActvPageZoom() As Double
Const MACRO_CMD_STR = "PAGE.SETUP(,,,,,,,,,,,,{#1,#2})"
Dim tPgN$, wPgN$

     With ActiveSheet.PageSetup
       If .Zoom > 0 Then
             ActvPageZoom = .Zoom / 100
       Else
         tPgN$ = IIf(.FitToPagesTall > 0, .FitToPagesTall, "#N/A")
         wPgN$ = IIf(.FitToPagesWide > 0, .FitToPagesWide, "#N/A")
             Application.ExecuteExcel4Macro "PAGE.SETUP(,,,,,,,,,,,,{#N/A,#N/A})"
             ActvPageZoom = .Zoom / 100
         Application.ExecuteExcel4Macro Replace(Replace(MACRO_CMD_STR, "#1", wPgN$), "#2", tPgN$)
       End If
     End With 'ActiveSheet.PageSetup
End Function
[/vba]

Для корректной работы размер листа при 100% масштабе должен быть больше 1 стр.

Автор - Формуляр
Дата добавления - 20.08.2012 в 22:31
Russsell Дата: Среда, 18.12.2013, 15:08 | Сообщение № 16
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте!
Есть файл, в котором на одном листе заполнены похожими (но не одинаковыми) по структуре данными.
Как распечатать эти данные в разных форматах (Альбомный, портретный) с заполнением по ширине листа.
[moder]Тема закрыта. Причина: нарушение п.п. 4, 5q Правил форума[/moder]
К сообщению приложен файл: 3783789.xls (28.5 Kb)


Сообщение отредактировал Russsell - Среда, 18.12.2013, 15:09
 
Ответить
СообщениеЗдравствуйте!
Есть файл, в котором на одном листе заполнены похожими (но не одинаковыми) по структуре данными.
Как распечатать эти данные в разных форматах (Альбомный, портретный) с заполнением по ширине листа.
[moder]Тема закрыта. Причина: нарушение п.п. 4, 5q Правил форума[/moder]

Автор - Russsell
Дата добавления - 18.12.2013 в 15:08
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Определить область печати макросом (и установить параметры страницы)
  • Страница 1 из 1
  • 1
Поиск:

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