Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
VBA цикл Вырезать\Вставить
 
Всем доброго времени суток.
Есть задача на одном листе "Общий" найти ячейку с заданным значением.
Выделить строку с найденной ячейкой.
Перенести её на лист "Буденновский".

Я далеко не силён в написании макросов. Сломал уже всё голову.

При запуске макрос отрабатывает один раз и останавливается. При повторном запуске, без закрытия книги, Excel зависает.

Код
Sub Макрос1()
Dim a, b, c, e As Integer

Do ' Поиск пустой ячейки для вставки.
a = 3
    If ThisWorkbook.Sheets("Буденновский").Cells(a, 1) > "" Then
    a = a + 1
    End If
Loop Until Cells(a, 1) = ""

' Поиск ячейки с заданным значением.
Set b = ThisWorkbook.Sheets("Общий").Range("G:G").Find(What:="Буденновский", _
                     LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
                     SearchDirection:=xlNext, MatchCase:=False, _
                     SearchFormat:=False)
Do

' Получаем номер строки
c = Mid(b.Address, (InStr(2, b.Address, "$") + 1))
    
    If Not b Is Nothing Then
    Sheets("Общий").Activate
    Range(Cells(c, 1), Cells(c, 7)).Cut
    Sheets("Буденновский").Activate
    Range(Cells(a, 1), Cells(a, 7)).Select
        ActiveSheet.Paste
    Set b = Range("G:G").FindNext(b)
    End If

    Loop While b Is Nothing
End Sub
Страницы: 1
Наверх