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

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

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.08.2015, 09:15   #1
ren23rus
 
Регистрация: 10.08.2015
Сообщений: 5
По умолчанию Макрос для переноса строк на другой лист

Доброго времени суток. Помогите пожалуйста доработать макрос. Необходимо что бы строки с одного листа по определенному условию переносились на другой лист. При этом строки на первом листе полностью удалялись со сдвигом всех строк. Макрос написан, но работает очень медленно. На 5-ти строках и без присутствия других макросов все работает. Как только пишу этот код в файл с большим количеством строк и большим количеством макросов, то сразу начинает тормозить.

Код:
Sub Test1()
Dim iCell As Range, Priznak As Variant
    Priznak = ("a")
    For Each iCell In Range("G2", [G2].End(xlDown))
        If iCell = Priznak Then
            With Sheets("Лист2")
                iCell.EntireRow.Cut Destination:=.Cells(.Cells(Rows.Count, "A").End(xlUp).Row + 1, "A")
                Selection.SpecialCells(xlCellTypeBlanks).Select
                Selection.Delete Shift:=xlUp
            End With
        End If
    Next iCell
 
End Sub

Последний раз редактировалось Stilet; 21.08.2015 в 12:04.
ren23rus вне форума Ответить с цитированием
Старый 21.08.2015, 16:07   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Надо удалять все строки (ячейки) сразу, - тогда не будет тормозить.
Если же в цикле перебирать ячейки, и удалять по одной, - тормоза гарантированы.

Идеи можете почерпнуть в этом макросе:
http://excelvba.ru/code/ConditionalRowsDeleting
EducatedFool вне форума Ответить с цитированием
Старый 24.08.2015, 08:41   #3
ren23rus
 
Регистрация: 10.08.2015
Сообщений: 5
По умолчанию

Спасибо большое за ответ.
ren23rus вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос переноса строки из одного листа в другой ссержа Microsoft Office Excel 7 04.04.2016 15:03
макрос для переноса строк по условию SergeyR Microsoft Office Excel 2 07.08.2012 17:49
Как дописать код для переноса выборочных данных с форматированием на другой лист valik65 Microsoft Office Excel 10 20.12.2010 19:41
Выборка данных для переноса на другой лист. Kot9ra Microsoft Office Excel 1 14.10.2010 22:05
Макрос переноса строк на другой лист cargoline9 Microsoft Office Excel 11 15.12.2009 22:05