powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Копирование групп макросом
8 сообщений из 8, страница 1 из 1
Копирование групп макросом
    #35731637
Mezenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, подскажите пожауйста! При копировании информации с одного листа на другой методом специальной вставки значений и формата, возникает следующая проблема: как скопировать группы для диапазонов ячееек. К примеру, на одном листе создана группа для строк 5:6 и строк 10:20. При копировании информации на другой лист, необходимо, чтобы строки 5:6 и 10:20 также были сгруппированы?
...
Рейтинг: 0 / 0
Копирование групп макросом
    #35731900
Mezenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или можно эту задачу решить по другому. Диапазоны которые нужно группировать выделить определённым цветом (допустим ячейки А5:А6 закрасить зелёным цветом) и потом этот диапазон сгруппировать в строках. У меня получается решить данную проблему для одного диапазона, но когда их несколько, то не получается. Тупик у меня.

Sub Gruppa()
Dim myRng As Range, iRows As Range
For Each iRows In Range("A:A")
If iRows.Interior.ColorIndex = 38 Then
If myRng Is Nothing Then
Set myRng = iRows
Else
Set myRng = Union(myRng, iRows)
End If
End If

Next
myRng.Select
Selection.Rows.Group

End Sub
...
Рейтинг: 0 / 0
Копирование групп макросом
    #35731928
A-Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделать Application.ScreenUpdating = False, затем раскрыть необходимые группы, затем скопировать данные, куда нужно, а затем опять скрыть группы :-)
При необходимости воспользуйтесь записью макроса.
...
Рейтинг: 0 / 0
Копирование групп макросом
    #35732100
Mezenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
A-Nik,

Возможно вопрос сформулирован неправильно. Но мне непонятно, каким образом Ваш способ решит проблему.
На исходном листе уже существуют группы. Данные скопировали на новый лист при помощи спец. вставки, т.е. группы на новый лист не переносятся. Как сделать, чтобы на новом листе образовались такие же группы, как и на исходном.
...
Рейтинг: 0 / 0
Копирование групп макросом
    #35732167
A-Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чтобы скопировались и группы, копируемый диапазон должен охватывать столбцы целиком и вставлять не значения, а всё.
...
Рейтинг: 0 / 0
Копирование групп макросом
    #35733093
Mezenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста, как преобразовать данный макрос

Sub Gruppa()
Dim myRng As Range, iRows As Range
For Each iRows In Range("A:A")
If iRows.Interior.ColorIndex = 38 Then
If myRng Is Nothing Then
Set myRng = iRows
Else
Set myRng = Union(myRng, iRows)
End If
End If

Next
myRng.Select
Selection.Rows.Group

End Sub


группирующий строки, если они закрашены 38 цветом <Этот макрос работает, только если на листе есть один неразрывный диапазон> для того, чтобы он группировал строки при наличии нескольких диапазонов?
...
Рейтинг: 0 / 0
Копирование групп макросом
    #35733979
sergeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
можно так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Sub Test()
Dim iRows As Range
ActiveSheet.Outline.SummaryRow = xlAbove
For Each iRows In Intersect(ActiveSheet.UsedRange, Range("A:A"))
  If iRows.Interior.ColorIndex =  38  Then iRows.EntireRow.OutlineLevel =  2 
Next
ActiveSheet.Outline.ShowLevels  2 
End Sub
...
Рейтинг: 0 / 0
Копирование групп макросом
    #35735513
Mezenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sergeyvg,

огромное спасибо, всё работает!!!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Копирование групп макросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]