Hollib
@Hollib

Как сделать перенос строки с лист2 на лист1?

Всем привет
Объясните как можно упростить этот код. Его задача копировать с лист1 строки и вставлять в лист 2
----------
Как его упростить до состояния, что бы он копировал строку 4 - лист2, и вставлял ее в строку 3 - лист1?
Цикл тоже мешает, по сути надо что бы он просто переносил одну строчку.
Может кто поделиться информацией, ссылкой там на форум или видос.
Sub Resheniye1()
Dim n1 As Long, n2 As Long, n3 As Long, n4 As Long, _
i1 As Long, gorod As Variant
n1 = Sheets("Лист1").Cells(1, 1).CurrentRegion.Rows.Count
  For i1 = 1 To n1
    With Sheets("Лист1")
      If gorod <> .Cells(i1, 1) Then
        gorod = .Cells(i1, 1)
        n2 = 1
        n3 = n3 + 1
        n4 = 1
      Else
        n2 = 2
      End If
      Do While .Cells(i1, n2) <> ""
        Sheets("Лист2").Cells(n3, n4) = .Cells(i1, n2)
        n4 = n4 + 1
        n2 = n2 + 1
      Loop
    End With
  Next
End Sub
  • Вопрос задан
  • 41 просмотр
Решения вопроса 1
akelsey
@akelsey
Давно не писал ничего на VBA для Excel, но помнится там были Range - не нужно проходить циклом, указываете координаты что скопировать и куда скопировать. (Проще всего помню было в Excel - включить запись макроса, сделать действие, подредактировать полученный код под свою задачу)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы