От LastRow до LastRow Offset VBA - PullRequest
       1

От LastRow до LastRow Offset VBA

0 голосов
/ 11 января 2019

Я пытаюсь сделать AutoFill от последнего ряда до одного ряда ниже. Так что LastRow до LastRow Offset (1).

Я знаю, как найти последний ряд в VBA, но кое-как, как я не могу найти способ решить эту загадку.

Я думаю, это будет выглядеть примерно так:

LastRow = Cells(Rows.Count, 2).End(xlUp).Row
LastRow2 = Cells(Rows.Count, 2).End(xlUp).Offset(1)


Range("B" & LastRow : "AA" & LastRow).Select
Range("B" & LastRow2 : "AA" & LastRow2).Autofill

Если что-то не понятно, пожалуйста, спросите, я был бы признателен за любую помощь

Ответы [ 3 ]

0 голосов
/ 11 января 2019

Добавьте .Row в конец переменной LastRow2 и используйте метод Range.AutoFill , правильно:

SourceRange.Autofill Destination:=DestinationRange

, где DestinationRange должен включать SourceRange.

Я настоятельно рекомендую избегать использования Select .

LastRow = Cells(Rows.Count, 2).End(xlUp).Row

Range("B" & LastRow : "AA" & LastRow).Autofill Destination:=Range("B" & LastRow : "AA" & LastRow + 1)
                                                                        '^ Note this must be LastRow not LastRow + 1!

Альтернатива:

Dim LastCell As Range
Set LastCell = Cells(Rows.Count, 2).End(xlUp) 'without .Row

LastCell.Resize(1, 26).AutoFill Destination:=LastCell.Resize(2, 26) '1 down

Альтернатива:

Dim SourceRange As Range
Set SourceRange = Cells(Rows.Count, 2).End(xlUp).Resize(1, 26) 'results in column B to AA

SourceRange.AutoFill Destination:=SourceRange.Resize(RowSize:=2) '1 down
0 голосов
/ 11 января 2019

Диапазон назначения для автозаполнения может быть объявлен следующим образом.

With ActiveSheet
    Set Rng = .Cells(.Rows.Count, "B").End(xlUp).Resize(2, 26)
End With
0 голосов
/ 11 января 2019

Добавьте .Row в конец вашей LastRow2 переменной:

LastRow2 = Cells(Rows.Count, 2).End(xlUp).Offset(1).Row
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...