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 的回答,为了将来更好的编码实践,避免使用 Select
、 ActiveCell
和 Selection
,并使用完全限定的 Range
s.
参见下面的示例:
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
在 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 的回答,为了将来更好的编码实践,避免使用 Select
、 ActiveCell
和 Selection
,并使用完全限定的 Range
s.
参见下面的示例:
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