Макрос копирования по условию - VBA

Узнай цену своей работы

Формулировка задачи:

Добрый день, нужен макрос для копирования строк с определенным значением в столбце с основного листа на лист2; второй макрос - для копирования с этого же листа на лист3 если значения равны .... в 2-ух столбцах Подробнее описал внутри файла. Надеюсь на вашу помощь!!!

Решение задачи: «Макрос копирования по условию»

textual
Листинг программы
Sub Yana_Zhilak() 
Dim LastRow As Long, Rw As Long 'Объявили переменный послдедних строк для двух слистов
LastRow = Cells(Rows.Count, 1).End(xlUp).Row 'Нашли номер последней строки на активном листе (там, где кнопка)
With Sheets("Лист2") 'Применительно к Лист2
Rw = .Cells(Rows.Count, 1).End(xlUp).Row + 1 'Нашли номер первой свободной строки на этом листе
Range(.Cells(4, 1), .Cells(Rw + 1, 5)).ClearContents 'Очистили ПОЛНОСТЬЮ диапазон на втором листе
Rw = 7 'Указали, что первая свободная строка =7
For i = 7 To LastRow 'Цикл со строки № 7 по последнюю заполненную (на активном листе)
If Cells(i, 8) = "ЗБС" Then 'Если ячейка столбца 8 текущей строки = "ЗБС", то
Range(Cells(i, 1), Cells(i, 44)).Copy .Cells(Rw, 1) 'Дипазон (текущая строка, столбцы 1:44) копируем в первую свободную ячейку второго листа
Rw = Rw + 1 'Увеличивем переменную-счётчик первой свободной строки второго листа
End If
Next
End With
End Sub

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы