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

Вход

Регистрация

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

 

= Мир MS Excel/Печать страницы на которой стоит курсор (запись) - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Печать страницы на которой стоит курсор (запись) (Формулы/Formulas)
Печать страницы на которой стоит курсор (запись)
Marat_Best Дата: Среда, 22.06.2016, 06:47 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день !!!
столкнулся с такой проблемой, думаю что решение простое , но не пойму как сделать
есть документ excel
заданы области печати, то есть при распечатке , все страницы по очереди на весь лист .... все красиво
задача:нужно искать определенную строку на этом листе
после того как курсор встанет в нужную ячейку, распечатать нужно именно текущий лист
в стандартных настройка печати не нашел
либо все печатать, либо отдельные листы по номерам ( при поиске я номера не знаю на котором найдется нужная запись)
либо все выделять , но мне нужно именно ту страницу(полностью) которая задана областями печати ?
:'(
зы.
сильно не пинайте ...
 
Ответить
СообщениеДобрый день !!!
столкнулся с такой проблемой, думаю что решение простое , но не пойму как сделать
есть документ excel
заданы области печати, то есть при распечатке , все страницы по очереди на весь лист .... все красиво
задача:нужно искать определенную строку на этом листе
после того как курсор встанет в нужную ячейку, распечатать нужно именно текущий лист
в стандартных настройка печати не нашел
либо все печатать, либо отдельные листы по номерам ( при поиске я номера не знаю на котором найдется нужная запись)
либо все выделять , но мне нужно именно ту страницу(полностью) которая задана областями печати ?
:'(
зы.
сильно не пинайте ...

Автор - Marat_Best
Дата добавления - 22.06.2016 в 06:47
Nic70y Дата: Среда, 22.06.2016, 09:01 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3675
Репутация: 761 ±
Замечаний: 0% ±

Excel 2013
как курсор встанет в нужную ячейку, распечатать нужно именно текущий лист
не понял.
у вас в ячейках имена листов?


ЯД(poison) 41001841029809
+7 978 049 98 74 (мтс)
 
Ответить
Сообщение
как курсор встанет в нужную ячейку, распечатать нужно именно текущий лист
не понял.
у вас в ячейках имена листов?

Автор - Nic70y
Дата добавления - 22.06.2016 в 09:01
Marat_Best Дата: Среда, 22.06.2016, 09:34 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
как курсор встанет в нужную ячейку, распечатать нужно именно текущий лист
не понял.
у вас в ячейках имена листов?

я наверное не правильно выразился , имел в виду лист на распечатку а не лист ехеля
если грубо
есть таблица
1 один
2 два
3 три
...
400 четыреста
405 четыреста пять
и т.д
допустим при выводе на печать, на первом листе на принтер выходят записи от 1 до 50, на автором от 50 до 100
в документе эти листы разбиты пунктирными линиями (области печати)

я к примеру нахожу поиском строку 57, мне нужно чтобы распечатался только второй лист ....
 
Ответить
Сообщение
как курсор встанет в нужную ячейку, распечатать нужно именно текущий лист
не понял.
у вас в ячейках имена листов?

я наверное не правильно выразился , имел в виду лист на распечатку а не лист ехеля
если грубо
есть таблица
1 один
2 два
3 три
...
400 четыреста
405 четыреста пять
и т.д
допустим при выводе на печать, на первом листе на принтер выходят записи от 1 до 50, на автором от 50 до 100
в документе эти листы разбиты пунктирными линиями (области печати)

я к примеру нахожу поиском строку 57, мне нужно чтобы распечатался только второй лист ....

Автор - Marat_Best
Дата добавления - 22.06.2016 в 09:34
AlexM Дата: Среда, 22.06.2016, 09:46 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3237
Репутация: 810 ±
Замечаний: 0% ±

Нужен пример, тогда проще понять задачу.
Ваши действия с приложенным файлом с примером.
Сделайте разметку страницы. На листе появится разметка области с 1 по 50 строку.
В столбце В в 51 или любую другую ставите галочку v. Разметка поменяется.
На печать пойдет область начиная со строки с галочкой и высотой 50 строк.
С1 служебная ячейка, можно сделать скрытой
К сообщению приложен файл: Marat_Best.xls(32Kb)


Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Среда, 22.06.2016, 09:52
 
Ответить
СообщениеНужен пример, тогда проще понять задачу.
Ваши действия с приложенным файлом с примером.
Сделайте разметку страницы. На листе появится разметка области с 1 по 50 строку.
В столбце В в 51 или любую другую ставите галочку v. Разметка поменяется.
На печать пойдет область начиная со строки с галочкой и высотой 50 строк.
С1 служебная ячейка, можно сделать скрытой

Автор - AlexM
Дата добавления - 22.06.2016 в 09:46
SLAVICK Дата: Среда, 22.06.2016, 09:48 | Сообщение № 5
Группа: Модераторы
Ранг: Старожил
Сообщений: 1924
Репутация: 650 ±
Замечаний: 0% ±

2007,2010,2013,2016
Есть два варианта:
Макросом:
[vba]
Код
Sub Печать_Акт_лист()
Dim wks As Worksheet
Set wks = ActiveSheet
  
Dim i As Integer, X As Integer, Y As Integer, n As Integer
  
For i = 1 To wks.HPageBreaks.Count
If wks.HPageBreaks(i).Location.row > ActiveCell.row Then
Y = i
Exit For
End If
Next i
If Y = 0 Then Y = wks.HPageBreaks.Count + 1
  
For i = 1 To wks.VPageBreaks.Count
If wks.VPageBreaks(i).Location.Column > ActiveCell.Column Then
X = i
Exit For
End If
Next i
If X = 0 Then X = wks.VPageBreaks.Count + 1
   
If wks.PageSetup.Order = xlDownThenOver Then
n = (X - 1) * (wks.HPageBreaks.Count + 1) + Y
Else
n = (Y - 1) * (wks.VPageBreaks.Count + 1) + X
End If
   
wks.PrintOut n, n
End Sub
[/vba]
или выделить нужный фрагмент и нажать
К сообщению приложен файл: 5131851.jpg(26Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеЕсть два варианта:
Макросом:
[vba]
Код
Sub Печать_Акт_лист()
Dim wks As Worksheet
Set wks = ActiveSheet
  
Dim i As Integer, X As Integer, Y As Integer, n As Integer
  
For i = 1 To wks.HPageBreaks.Count
If wks.HPageBreaks(i).Location.row > ActiveCell.row Then
Y = i
Exit For
End If
Next i
If Y = 0 Then Y = wks.HPageBreaks.Count + 1
  
For i = 1 To wks.VPageBreaks.Count
If wks.VPageBreaks(i).Location.Column > ActiveCell.Column Then
X = i
Exit For
End If
Next i
If X = 0 Then X = wks.VPageBreaks.Count + 1
   
If wks.PageSetup.Order = xlDownThenOver Then
n = (X - 1) * (wks.HPageBreaks.Count + 1) + Y
Else
n = (Y - 1) * (wks.VPageBreaks.Count + 1) + X
End If
   
wks.PrintOut n, n
End Sub
[/vba]
или выделить нужный фрагмент и нажать

Автор - SLAVICK
Дата добавления - 22.06.2016 в 09:48
Marat_Best Дата: Среда, 22.06.2016, 10:18 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
AlexM , SLAVICK спасибо за ответы ...
стандартным способом печати ни как не сделать ... печалька
попробую через макросы
 
Ответить
СообщениеAlexM , SLAVICK спасибо за ответы ...
стандартным способом печати ни как не сделать ... печалька
попробую через макросы

Автор - Marat_Best
Дата добавления - 22.06.2016 в 10:18
_Boroda_ Дата: Среда, 22.06.2016, 10:50 | Сообщение № 7
Группа: Модераторы
Ранг: Экселист
Сообщений: 9828
Репутация: 4151 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
стандартным способом печати ни как не сделать

Почему?
Смотрите файл. Порядок действий - ищете поиском (как хотели), после того, как нашли, жмете F2 и Ентер, а затем отправляете на печать. Возможно, что при отправке на печать автообновление будет само делаться и тогда F2 и Ентер жать не нужно. У меня на работе возможности проверить нет
Чтобы посмотреть как работает - нажмите Контрл F3. Попадете в именованные диапазоны, там формула
Код
=ИНДЕКС(Лист1!$A:$A;ОТБР((СТРОКА(Лист1!C1)-1)/50)*50+1+СЛЧИС()):ИНДЕКС(Лист1!$A:$A;ОТБР((СТРОКА(Лист1!C1)-1)/50)*50+50)

Ее можно сразу в область печати писать или в отдельное имя (как у меня).
К сообщению приложен файл: 8798464_1.xlsm(14Kb)


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

Почему?
Смотрите файл. Порядок действий - ищете поиском (как хотели), после того, как нашли, жмете F2 и Ентер, а затем отправляете на печать. Возможно, что при отправке на печать автообновление будет само делаться и тогда F2 и Ентер жать не нужно. У меня на работе возможности проверить нет
Чтобы посмотреть как работает - нажмите Контрл F3. Попадете в именованные диапазоны, там формула
Код
=ИНДЕКС(Лист1!$A:$A;ОТБР((СТРОКА(Лист1!C1)-1)/50)*50+1+СЛЧИС()):ИНДЕКС(Лист1!$A:$A;ОТБР((СТРОКА(Лист1!C1)-1)/50)*50+50)

Ее можно сразу в область печати писать или в отдельное имя (как у меня).

Автор - _Boroda_
Дата добавления - 22.06.2016 в 10:50
pabchek Дата: Среда, 22.06.2016, 12:39 | Сообщение № 8
Группа: Проверенные
Ранг: Ветеран
Сообщений: 664
Репутация: 147 ±
Замечаний: 0% ±

Excel 2007
У меня тоже есть вариант
[vba]
Код
Sub PrintCurrentPage_()
    For i = 1 To ActiveSheet.HPageBreaks.Count
        If ActiveCell.Row < ActiveSheet.HPageBreaks(i).Location.Row - 1 Then Exit For
    Next
    ActiveSheet.PrintOut i, i
    'MsgBox i
End Sub
[/vba]
К сообщению приложен файл: 3953282.xlsm(20Kb)


"Учиться, учиться и еще раз учиться!"
WM: R399923528092
 
Ответить
СообщениеУ меня тоже есть вариант
[vba]
Код
Sub PrintCurrentPage_()
    For i = 1 To ActiveSheet.HPageBreaks.Count
        If ActiveCell.Row < ActiveSheet.HPageBreaks(i).Location.Row - 1 Then Exit For
    Next
    ActiveSheet.PrintOut i, i
    'MsgBox i
End Sub
[/vba]

Автор - pabchek
Дата добавления - 22.06.2016 в 12:39
SLAVICK Дата: Среда, 22.06.2016, 13:55 | Сообщение № 9
Группа: Модераторы
Ранг: Старожил
Сообщений: 1924
Репутация: 650 ±
Замечаний: 0% ±

2007,2010,2013,2016
pabchek, а если данные не влазят по ширине в один лист?
Вы проверяете только разрывы строк, но забываете про VPageBreaks ;)

_Boroda_, интересно получилось но что если количество строк на листе <> 50?


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщениеpabchek, а если данные не влазят по ширине в один лист?
Вы проверяете только разрывы строк, но забываете про VPageBreaks ;)

_Boroda_, интересно получилось но что если количество строк на листе <> 50?

Автор - SLAVICK
Дата добавления - 22.06.2016 в 13:55
pabchek Дата: Среда, 22.06.2016, 14:03 | Сообщение № 10
Группа: Проверенные
Ранг: Ветеран
Сообщений: 664
Репутация: 147 ±
Замечаний: 0% ±

Excel 2007
а если данные не влазят

заданы области печати

По своей природе человек ленив и я не исключение. И, поскольку, у уважаемого Marat_Best границы проставлены загодя, не вижу смысла усложнять код.


"Учиться, учиться и еще раз учиться!"
WM: R399923528092
 
Ответить
Сообщение
а если данные не влазят

заданы области печати

По своей природе человек ленив и я не исключение. И, поскольку, у уважаемого Marat_Best границы проставлены загодя, не вижу смысла усложнять код.

Автор - pabchek
Дата добавления - 22.06.2016 в 14:03
_Boroda_ Дата: Среда, 22.06.2016, 14:12 | Сообщение № 11
Группа: Модераторы
Ранг: Экселист
Сообщений: 9828
Репутация: 4151 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
что если количество строк на листе <> 50?
Ничё не знаю. Marat_Best, написал:
на первом листе на принтер выходят записи от 1 до 50, на автором от 50 до 100
Я так и сделал.
И файла нет.
А так можно подумать, но, скорее всего, или запрос на разрешение макросов, или какие-то метки окончания листов, или еще что-нибудь.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
что если количество строк на листе <> 50?
Ничё не знаю. Marat_Best, написал:
на первом листе на принтер выходят записи от 1 до 50, на автором от 50 до 100
Я так и сделал.
И файла нет.
А так можно подумать, но, скорее всего, или запрос на разрешение макросов, или какие-то метки окончания листов, или еще что-нибудь.

Автор - _Boroda_
Дата добавления - 22.06.2016 в 14:12
SLAVICK Дата: Среда, 22.06.2016, 17:32 | Сообщение № 12
Группа: Модераторы
Ранг: Старожил
Сообщений: 1924
Репутация: 650 ±
Замечаний: 0% ±

2007,2010,2013,2016
границы проставлены загодя,

ну не знаю - файла то я не видел, может и проставлены но он же не сказал что все по ширине в одну страницу.
По своей природе человек ленив и я не исключение.

Так и я же ничего не писал сейчас - просто взял из своей копилки готовый код, не меняя ни строки по той же причине :D

Ничё не знаю. Marat_Best, написал:

так я же без претензий - просто интересно может как-то допилить эту функцию, чтобы весь лист показывала, но скорее всего не выйдет, поскольку формула пока не определяет границы листа... :(

[offtop]Форумы ведь для чего?
чтоб что то интересное почерпнуть, помогать друг другу, решать задачи, не скучать... beer [/offtop]


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
границы проставлены загодя,

ну не знаю - файла то я не видел, может и проставлены но он же не сказал что все по ширине в одну страницу.
По своей природе человек ленив и я не исключение.

Так и я же ничего не писал сейчас - просто взял из своей копилки готовый код, не меняя ни строки по той же причине :D

Ничё не знаю. Marat_Best, написал:

так я же без претензий - просто интересно может как-то допилить эту функцию, чтобы весь лист показывала, но скорее всего не выйдет, поскольку формула пока не определяет границы листа... :(

[offtop]Форумы ведь для чего?
чтоб что то интересное почерпнуть, помогать друг другу, решать задачи, не скучать... beer [/offtop]

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

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