Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.06.2013, 09:48   #1
Aicha
Новичок
Джуниор
 
Регистрация: 19.06.2013
Сообщений: 2
По умолчанию Необходимо упростить макрос, распределяющий данные по листам

Здравствуйте!
Записала макрос, который распределяет данные с "листа 33" при условии совпадения фамилии из колонки 16 на листы с соответствующими фамилиями.

На листе с данными как правило около 3000 строк, а листов с фамилиями около 40

При выполнении макроса, он ругается "недостаточно системных ресурсов", на меньших объемах работает.

Помогите пожалуйста его упростить.
Вложения
Тип файла: zip Копия 2Список специалистов ИЮНЬ.zip (881.1 Кб, 7 просмотров)
Aicha вне форума Ответить с цитированием
Старый 20.06.2013, 01:03   #2
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

Доброго.
Как вариант ...
Код:
Sub Макрос7()
    Filters = Array("Чистова", "Ангелов ", "Василискина", "Виноградова", "Гащанская", "Глазунова", _
        "Головкова", "Гордеев", "Данилина", "Дивеева", "Добренькова", _
        "Дроздова", "Ангелова", "Еранова", "Есехина", "Заблоцкая", "Калугина", "Карпухина", _
        "Козлова Г", "Козлова М", "Колотилина", "Кондратенкова", "Корнеев", "Аносова", "Корсаков", _
        "Краснянская", "Кузьмичев", "Кукушкина", "Кутузова", "Леончева", "Макарова", "Марчук", "Морозова", _
        "Муравлева", "Антосенко", "Никитина", "Орынбаева", "Пахомова", "Петрушкина", "Погребова", "Полякова А", _
        "Полякова С", "Романникова", "Сатарова", "Солодовников", "Архипов", "Титякова", "Тихомирова", "Ткачук", _
        "Устименкова", "Фадеева", "Харибина", "Чернышева", "Шарова", "Швецова", "Бабурина", "Шувалова", _
        "Ядрухин", "Балабанова", "Балан", "Бубенцова")

    Application.ScreenUpdating = False
    Application.EnableEvents = False
    With Sheets("Лист33").UsedRange
        For i = 0 To UBound(Filters)
            .AutoFilter Field:=16, Criteria1:="=*" & Filters(i) & "*", Operator:=xlAnd
            Sheets(Trim(Filters(i))).UsedRange.Clear
            .Copy Sheets(Trim(Filters(i))).Cells
        Next
    End With
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub
на неконкретные вопросы даю неконкретные ответы ...
Step_UA вне форума Ответить с цитированием
Старый 20.06.2013, 09:42   #3
Aicha
Новичок
Джуниор
 
Регистрация: 19.06.2013
Сообщений: 2
По умолчанию

Здорово!
Вы мне очень помогли и кое-чему научили. А не подскажете, если пойти на 3-х дневные курсы по VBA при МГТУ им. Баумана (3 полных дня), реально научиться разбираться в макросах и самостоятельно решать подобные задачи?
Aicha вне форума Ответить с цитированием
Старый 20.06.2013, 10:56   #4
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
макрос по листам KApSuL Microsoft Office Excel 4 07.11.2012 13:29
Макрос копирования данных по листам и увеличивающийся объем таблицы Ppaa Microsoft Office Excel 2 10.11.2011 23:15
Переносить данные по трем листам в один файл Hoochara Microsoft Office Excel 0 26.09.2011 13:37
таблица транспартировка раскидывание по листам макрос marc-nikita Microsoft Office Excel 6 12.11.2009 18:15
Макрос сортировки строк по листам noname_06 Microsoft Office Excel 8 24.01.2009 20:30