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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматическое создание новых листов и распред. данных в них - Мир MS Excel

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

Excel 2007
Так как новичок в Excel, не перестаю удивляться возможностям этой программы. Хочу попросить у вас помощи форумчани.
У меня есть файл, таких на работе встречается много и хотелось бы как-то автоматизировать процесс, ну или хотя бы облегчить его.
Во вложении вставлю пример.
У меня есть ряд следующих вопросов:
1) Устанавливая фильтр по странам можно ли автоматически создать листы с наименованием каждой страны представленной в фильтре в алфавитном порядке. В файле есть пример, но делал я это вручную.
2) Можно ли создать такой макрос/формулу что бы выбирая страну из фильтра можно было бы автоматически перенести информацию с колонок CDEFG в разбитые по странам листы, с последующим удалением дубликатов. (я пробовал создавать макросы, но они выполняют только то количество что я выделял, т.е. не важно какая страна, он тупо выделяет только то количество колонок, которое я выделял записывая макрос)

PS
Прошу прощения, если задал глупые вопросы или прошу невозможного, ибо, как сказал выше, новичок. Некоторые функции это программы удивляют и я думаю, что может есть формулы или способы как облегчить мой труд и повысить производительность. (Пришлось уменьшить количество стран и данных ибо не более 100 кб, а у меня по 1 и по 7 мб в основном)

Заранее Благодарю за помощь.
К сообщению приложен файл: 3128973.xlsx(59Kb)
 
Ответить
СообщениеТак как новичок в Excel, не перестаю удивляться возможностям этой программы. Хочу попросить у вас помощи форумчани.
У меня есть файл, таких на работе встречается много и хотелось бы как-то автоматизировать процесс, ну или хотя бы облегчить его.
Во вложении вставлю пример.
У меня есть ряд следующих вопросов:
1) Устанавливая фильтр по странам можно ли автоматически создать листы с наименованием каждой страны представленной в фильтре в алфавитном порядке. В файле есть пример, но делал я это вручную.
2) Можно ли создать такой макрос/формулу что бы выбирая страну из фильтра можно было бы автоматически перенести информацию с колонок CDEFG в разбитые по странам листы, с последующим удалением дубликатов. (я пробовал создавать макросы, но они выполняют только то количество что я выделял, т.е. не важно какая страна, он тупо выделяет только то количество колонок, которое я выделял записывая макрос)

PS
Прошу прощения, если задал глупые вопросы или прошу невозможного, ибо, как сказал выше, новичок. Некоторые функции это программы удивляют и я думаю, что может есть формулы или способы как облегчить мой труд и повысить производительность. (Пришлось уменьшить количество стран и данных ибо не более 100 кб, а у меня по 1 и по 7 мб в основном)

Заранее Благодарю за помощь.

Автор - Hjq
Дата добавления - 05.11.2017 в 17:35
Pelena Дата: Воскресенье, 05.11.2017, 20:49 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11755
Репутация: 2596 ±
Замечаний: 0% ±

Excel 2010, 2016 & Mac Excel
И Вам здравствуйте.
Есть несколько готовых решений на эту тему. Например
http://www.excelworld.ru/board....-1-0-23
http://www.excelworld.ru/forum/10-12227-1#104694
http://www.planetaexcel.ru/forum....e493856
Попробуйте применить одно из них.
Но в любом случае надо избавляться от объединенных ячеек и распространять названия на все строки


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеИ Вам здравствуйте.
Есть несколько готовых решений на эту тему. Например
http://www.excelworld.ru/board....-1-0-23
http://www.excelworld.ru/forum/10-12227-1#104694
http://www.planetaexcel.ru/forum....e493856
Попробуйте применить одно из них.
Но в любом случае надо избавляться от объединенных ячеек и распространять названия на все строки

Автор - Pelena
Дата добавления - 05.11.2017 в 20:49
InExSu Дата: Понедельник, 06.11.2017, 08:49 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 241
Репутация: 28 ±
Замечаний: 80% ±

Excel 2010
[vba]
Код
Option Explicit

Sub ЛистыИзФильтра_InExSu() ' на основе МакроРекордер
Columns("B:B").Copy
Workbooks.Add
Columns("A:A").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("a1:a4").Delete shift:=xlShiftUp
ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("A1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Лист1").Sort
' .SetRange Range("A1:A190")
.SetRange Range("A:A")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A:A").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"C1"), Unique:=True
'Columns("C:C").Select
ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("C1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Лист1").Sort
.SetRange Range("C:C")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Dim arr(): arr = Columns("C:C").CurrentRegion.Value
ActiveWorkbook.Close SaveChanges:=False
Dim i
On Error Resume Next
For i = LBound(arr) To UBound(arr)
Worksheets.Add after:=Worksheets(i)
Worksheets(i + 1).Name = arr(i, 1)
Next
End Sub
[/vba]


Сообщение отредактировал InExSu - Понедельник, 06.11.2017, 08:52
 
Ответить
Сообщение[vba]
Код
Option Explicit

Sub ЛистыИзФильтра_InExSu() ' на основе МакроРекордер
Columns("B:B").Copy
Workbooks.Add
Columns("A:A").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("a1:a4").Delete shift:=xlShiftUp
ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("A1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Лист1").Sort
' .SetRange Range("A1:A190")
.SetRange Range("A:A")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A:A").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"C1"), Unique:=True
'Columns("C:C").Select
ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("C1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Лист1").Sort
.SetRange Range("C:C")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Dim arr(): arr = Columns("C:C").CurrentRegion.Value
ActiveWorkbook.Close SaveChanges:=False
Dim i
On Error Resume Next
For i = LBound(arr) To UBound(arr)
Worksheets.Add after:=Worksheets(i)
Worksheets(i + 1).Name = arr(i, 1)
Next
End Sub
[/vba]

Автор - InExSu
Дата добавления - 06.11.2017 в 08:49
Hjq Дата: Понедельник, 06.11.2017, 20:27 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
InExSu,

Может чего не так делаю, но почему-то он не вставляет колонки с C-H. А можно ли потом сразу удалить дубликаты в каждом листе?

Я пробовал изменить макрос [b]Sanja[b], но он вообще походу не для меня. От меня же руководство требует, что бы на каждую страну (а иногда эти страны идут не по алфавитному порядку, а иногда и дублируются).
http://www.planetaexcel.ru/forum....e493856

Чет я совсем профан наверное :( Очень требуется помощь, а то на работе просто пожар.


Сообщение отредактировал Hjq - Вторник, 07.11.2017, 01:16
 
Ответить
СообщениеInExSu,

Может чего не так делаю, но почему-то он не вставляет колонки с C-H. А можно ли потом сразу удалить дубликаты в каждом листе?

Я пробовал изменить макрос [b]Sanja[b], но он вообще походу не для меня. От меня же руководство требует, что бы на каждую страну (а иногда эти страны идут не по алфавитному порядку, а иногда и дублируются).
http://www.planetaexcel.ru/forum....e493856

Чет я совсем профан наверное :( Очень требуется помощь, а то на работе просто пожар.

Автор - Hjq
Дата добавления - 06.11.2017 в 20:27
Pelena Дата: Понедельник, 06.11.2017, 20:31 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11755
Репутация: 2596 ±
Замечаний: 0% ±

Excel 2010, 2016 & Mac Excel
Hjq, не надо цитировать пост целиком. Это нарушение Правил форума. Исправьте


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеHjq, не надо цитировать пост целиком. Это нарушение Правил форума. Исправьте

Автор - Pelena
Дата добавления - 06.11.2017 в 20:31
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Автоматическое создание новых листов и распред. данных в них (Формулы/Formulas)
Страница 1 из 11
Поиск:

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