从一列的最后一行自动填充到整个 sheet 的最后一行

Autofill from Last row of a column till Last row of the entire sheet

这里我想自动填充B6到B10。 B5 是 B 列的最后一行,A10 是整个 sheet.

的最后一行

目前我正在使用以下代码。

Dim Lastrow As Long
Dim Last As Long

Application.ScreenUpdating = False


Lastrow = Range("A" & Rows.Count).End(xlUp).row    'Last row from entire sheet

Last = Range("B" & Rows.Count).End(xlUp).Offset(1).row      'Last row of Column B +1

Range(Last & Lastrow).Formula = "4"


Application.ScreenUpdating = True

如果我使用

,这会起作用
Range(B6:B & Lastrow).Formula = "4"

但是,如果最后一行发生变化,这可能没有帮助

Range(B6:B & Lastrow).Formula = "4"

改为

Range("B" & last & ":B" & Lastrow) = "4"

下一个代码将执行您的要求,引用 sheet 的真正最后一个单元格 ,独立于它所在的列:

  Dim LastrowSh As Long, LastB As Long

  LastrowSh = ActiveSheet.cells.SpecialCells(xlCellTypeLastCell).Row 'Last row from entire sheet
  LastB = Range("B" & rows.count).End(xlUp).Offset(1).Row            'Last row of Column B + 1

  Range("B" & LastB, "B" & LastrowSh).value = "4"