Excel VBA自动填充列

在AI列有5个名字的列表 – 我想在B列创build不同的团队,并将他们命名为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)Selection.AutoFill Destination:=Range("B2:" & KCLR)我得到一个错误

范围(“B2:”&KCLR)=对象'_Global'的方法'范围'失败

我需要做什么才能成功实现AutoFill

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

遵循@ harun24hr回答,为了将来更好的编码实践,避免使用SelectActiveCellSelection ,并使用完全合格的Range

看下面的例子:

 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