Перенос строки на другой лист - VBA
Формулировка задачи:
Помогите пожалуйста с простой задачей, не понимаю почему не работает.
Нужно просто переносить строку из 17 столбцов в последнюю свободную строку другого листа по условию не пустой 3-й ячейки.
Так-же у меня тут не прописано, но нужно чтобы макрос удалял строку из исходного листа (2018) и сортировал оставшиеся чтобы не было пробелов. Ну или удалял строку прямо из таблицы целиком после копирования.
Вот что удалось написать мне. С VBA столкнулся впервые, пока не очень понимаю что как работает.
Решение задачи: «Перенос строки на другой лист»
textual
Листинг программы
Sub archive() Dim i As Integer Dim j As Integer Dim cnt As Integer Dim txt As String Dim var As Long cnt = 0 txt = "*архив*" var = Sheets("архив").Cells(Rows.Count,1).End(xlUp).Row + 1 Application.ScreenUpdating = False For i = 1 To 40 If LCase(Cells(i, 17)) Like LCase(txt) Then cnt = cnt + 1 Sheets("2018").Range(Cells(i, 1), Cells(i, 17)).Copy Sheets("архив").Range("A" & var).PasteSpecial (xlPasteAllExceptBorders) Rows(i).Delete var = var + 1 End If Next i Application.ScreenUpdating = True MsgBox "в архив перенесено = " & cnt & " " End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д