Excel VBA 自动填充列

Excel VBA To AutoFill Column

在 A 列中,我有一个包含 5 个名称的列表 - 我想在 B 列中创建不同的团队并将它们命名为 Team_1、Team_2 等等

这是我试过的语法...

Function AutoFill()
  Dim KCLR As Long
  KCLR = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
  Range("B2").Select
  ActiveCell.FormulaR1C1 = "Team_1"
  Selection.AutoFill Destination:=Range("B2:" & KCLR)
End Function

然而,在行 Selection.AutoFill Destination:=Range("B2:" & KCLR) 上我得到一个错误

Range("B2:" & KCLR) = Method 'Range' Of Object '_Global' failed

我需要做什么才能成功AutoFill

Selection.AutoFill Destination:=Range("B2:" & KCLR) 应该是 Selection.AutoFill Destination:=Range("B2:B" & KCLR) 因为 KCLR 正在返回一个数字。

按照@harun24hr 的回答,为了将来更好的编码实践,避免使用 SelectActiveCellSelection,并使用完全限定的 Ranges.

参见下面的示例:

Function AutoFill()

  Dim KCLR As Long

  KCLR = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
  Range("B2").FormulaR1C1 = "Team_1"
  Range("B2").AutoFill Destination:=Range("B2:B" & KCLR)

End Function