VBA - Копировать столбцы от А до Я на новый лист в конце книги - PullRequest
1 голос
/ 04 апреля 2020

Я написал следующее, что полностью скопирует первый лист в новый, в конце текущей книги.

Sub Copy()
    Dim test As Worksheet
    Sheets(1).Copy After:=Sheets(Sheets.Count)
    Set test = ActiveSheet
    test.Name = "copied sheet!"
End Sub

Однако я решил, что мне просто нужно скопировать данные только в столбцах от A до I, мне нет дела до остальных столбцов.

Как мне это сделать, пожалуйста? Любая помощь

1 Ответ

1 голос
/ 04 апреля 2020

Поскольку в листах Excel содержится более 1 миллиона строк, всегда полезно ограничивать диапазон, на который мы воздействуем:

Sheets.Add After:=Sheets(Sheets.Count)
With Sheets(1)
    Intersect(.Range("A:I"), .UsedRange).Copy Sheets(Sheets.Count).Range("A1")
End With

или даже быстрее, если нам нужно только вставить значения:

Sheets.Add After:=Sheets(Sheets.Count)
With Sheets(1)
    With Intersect(.Range("A:I"), .UsedRange)
        Sheets(Sheets.Count).Range("A1").Resize(.Rows.Count, .Columns.Count).Value = .Value
    End With
End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...