Копирование и вставки строки - VBA
Формулировка задачи:
Здравствуйте! Столкнулась с проблемой. Написала цикл на поиск непустых строк со значением не 0, а дальше они должны копироваться на другой лист ("Лист2").
Проблема в том, что вставляется только первая строка. А цикл проходит правильно (порядок последней выделенной строки на листе 2 по завершении программы соответствует количеству строк, которые необходимо скопировать).
Бьюсь над решением проблемы! Не вижу ошибки
спасибо!
Решение задачи: «Копирование и вставки строки»
textual
Листинг программы
Sub Кнопка115_Щелчок() Dim ra As Range Dim rng As Range Dim d As Long, i As Long d = 1 i = 1 Set rng = Sheets("Таблица остатков").Range(Range("P1"), Range("P" & Rows.Count).End(xlUp)) For Each ra In rng If ra.Value <> "0" And Len(ra) <> 0 Then Range("B" & i, "S" & i).Select 'Выделили на активном листе диапазон для копирования. Selection.Copy 'Копируем его. Sheets("Лист2").Select 'Выделили лист "Лист2" (теперь активен лист "Лист2"). Range("A" & d).Select 'Выделили на активном листе ячейку, начиная с которой производится вставка. Sheets("Лист2").Paste 'Вставили на "Лист2" копируемый диапазон. '----Строка, которой не хватает---- Sheets("Таблица остатков").Select 'Выделили лист "Таблица остатков" (теперь он снова активен). '---------------------------------- d = d + 1 End If i = i + 1 Next ra End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д