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

Вход

Регистрация

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

 

= Мир MS Excel/Объяснить работу макроса для печати выделенных строк - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Объяснить работу макроса для печати выделенных строк
doozy Дата: Среда, 31.05.2017, 19:48 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте, есть макрос, для печати выделенных строк (в vba только разбираюсь, как то в нем для меня сложно разобраться) спертый с подобного форума.
Пытаюсь уже несколько дней понять ход его работы и как то не получается найти информацию.

[vba]
Код
Selection.Interior.ColorIndex = xlNone
Application.ScreenUpdating = False 'тут понятно
Dim arr, x 'тут понятно
Set arr = Intersect(Columns("A:M"), Range(Selection, Selection.Areas(Selection.Areas.Count))) 'особенно тут

For Each x In arr.Rows
x.EntireRow.Hidden = Intersect(x, Selection) Is Nothing
Next

arr.PrintOut Preview:=True
arr.EntireRow.Hidden = False
Application.ScreenUpdating = True 'тут понятно
[/vba]

Был бы рад, если кто нибудь написал дотошные комментарии на против каждой строчки, зачем да почему.
И подсказать где можно черпать информацию.


Сообщение отредактировал doozy - Среда, 31.05.2017, 20:21
 
Ответить
СообщениеЗдравствуйте, есть макрос, для печати выделенных строк (в vba только разбираюсь, как то в нем для меня сложно разобраться) спертый с подобного форума.
Пытаюсь уже несколько дней понять ход его работы и как то не получается найти информацию.

[vba]
Код
Selection.Interior.ColorIndex = xlNone
Application.ScreenUpdating = False 'тут понятно
Dim arr, x 'тут понятно
Set arr = Intersect(Columns("A:M"), Range(Selection, Selection.Areas(Selection.Areas.Count))) 'особенно тут

For Each x In arr.Rows
x.EntireRow.Hidden = Intersect(x, Selection) Is Nothing
Next

arr.PrintOut Preview:=True
arr.EntireRow.Hidden = False
Application.ScreenUpdating = True 'тут понятно
[/vba]

Был бы рад, если кто нибудь написал дотошные комментарии на против каждой строчки, зачем да почему.
И подсказать где можно черпать информацию.

Автор - doozy
Дата добавления - 31.05.2017 в 19:48
buchlotnik Дата: Среда, 31.05.2017, 19:51 | Сообщение № 2
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
И вам здравствуйте.
Как и на других "подобных форумах" здесь есть правила.
Ознакомьтесь, исправьтесь и помощь придёт
 
Ответить
СообщениеИ вам здравствуйте.
Как и на других "подобных форумах" здесь есть правила.
Ознакомьтесь, исправьтесь и помощь придёт

Автор - buchlotnik
Дата добавления - 31.05.2017 в 19:51
Pelena Дата: Среда, 31.05.2017, 19:52 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 19603
Репутация: 4660 ±
Замечаний: ±

Excel 365 & Mac Excel
doozy, дайте теме более конкретное название, отражающее суть задачи, и оформите код тегами с помощью кнопки # в режиме правки поста
Обо всём этом есть в Правилах форума


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеdoozy, дайте теме более конкретное название, отражающее суть задачи, и оформите код тегами с помощью кнопки # в режиме правки поста
Обо всём этом есть в Правилах форума

Автор - Pelena
Дата добавления - 31.05.2017 в 19:52
doozy Дата: Среда, 31.05.2017, 20:10 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Pelena, так хорошо? :)
 
Ответить
СообщениеPelena, так хорошо? :)

Автор - doozy
Дата добавления - 31.05.2017 в 20:10
Pelena Дата: Среда, 31.05.2017, 20:21 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 19603
Репутация: 4660 ±
Замечаний: ±

Excel 365 & Mac Excel
Лучше. Название немного поправила


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЛучше. Название немного поправила

Автор - Pelena
Дата добавления - 31.05.2017 в 20:21
RAN Дата: Среда, 31.05.2017, 21:51 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
'особенно тут

очнь хитрая запись
[vba]
Код
Range(Selection, Selection.Areas(Selection.Areas.Count))
[/vba]
получает из нескольких несвязанных диапазонов один (с первой ячейки выделения по последнюю
это
[vba]
Код
x.EntireRow.Hidden = Intersect(x, Selection) Is Nothing
[/vba]
скрывает все строки, вошедшие в диапазон, полученный на предыдущем шаге, но не выделенные
строка
[vba]
Код
For Each x In arr.Rows
[/vba]
лишает всякого смысла эту часть кода
[vba]
Код
Intersect(Columns("A:M")
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
'особенно тут

очнь хитрая запись
[vba]
Код
Range(Selection, Selection.Areas(Selection.Areas.Count))
[/vba]
получает из нескольких несвязанных диапазонов один (с первой ячейки выделения по последнюю
это
[vba]
Код
x.EntireRow.Hidden = Intersect(x, Selection) Is Nothing
[/vba]
скрывает все строки, вошедшие в диапазон, полученный на предыдущем шаге, но не выделенные
строка
[vba]
Код
For Each x In arr.Rows
[/vba]
лишает всякого смысла эту часть кода
[vba]
Код
Intersect(Columns("A:M")
[/vba]

Автор - RAN
Дата добавления - 31.05.2017 в 21:51
doozy Дата: Среда, 31.05.2017, 23:35 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
RAN, спасибо, вопрос решен hands
 
Ответить
СообщениеRAN, спасибо, вопрос решен hands

Автор - doozy
Дата добавления - 31.05.2017 в 23:35
  • Страница 1 из 1
  • 1
Поиск:

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