Объяснить работу макроса для печати выделенных строк
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] Был бы рад, если кто нибудь написал дотошные комментарии на против каждой строчки, зачем да почему. И подсказать где можно черпать информацию.
Здравствуйте, есть макрос, для печати выделенных строк (в 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
Сообщение отредактировал 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
Ответить
Сообщение И вам здравствуйте. Как и на других "подобных форумах" здесь есть правила . Ознакомьтесь, исправьтесь и помощь придёт Автор - buchlotnik Дата добавления - 31.05.2017 в 19:51
Pelena
Дата: Среда, 31.05.2017, 19:52 |
Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 19603
Репутация:
4660
±
Замечаний:
±
Excel 365 & Mac Excel
doozy , дайте теме более конкретное название, отражающее суть задачи, и оформите код тегами с помощью кнопки # в режиме правки поста Обо всём этом есть в Правилах форума
doozy , дайте теме более конкретное название, отражающее суть задачи, и оформите код тегами с помощью кнопки # в режиме правки поста Обо всём этом есть в Правилах форумаPelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение doozy , дайте теме более конкретное название, отражающее суть задачи, и оформите код тегами с помощью кнопки # в режиме правки поста Обо всём этом есть в Правилах форумаАвтор - Pelena Дата добавления - 31.05.2017 в 19:52
doozy
Дата: Среда, 31.05.2017, 20:10 |
Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Pelena, так хорошо?
Pelena, так хорошо? doozy
Ответить
Сообщение Pelena, так хорошо? Автор - doozy Дата добавления - 31.05.2017 в 20:10
Pelena
Дата: Среда, 31.05.2017, 20:21 |
Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 19603
Репутация:
4660
±
Замечаний:
±
Excel 365 & Mac Excel
Лучше. Название немного поправила
Лучше. Название немного поправила Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Лучше. Название немного поправила Автор - Pelena Дата добавления - 31.05.2017 в 20:21
RAN
Дата: Среда, 31.05.2017, 21:51 |
Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
очнь хитрая запись [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
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение очнь хитрая запись [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, спасибо, вопрос решен
RAN, спасибо, вопрос решен doozy
Ответить
Сообщение RAN, спасибо, вопрос решен Автор - doozy Дата добавления - 31.05.2017 в 23:35