excel VBA范围对象单列自动填充

mnemlml8  于 2023-04-07  发布在  其他
关注(0)|答案(1)|浏览(166)

我试图自动填充range对象的一列。最终我想使用公式自动填充。我在下面的一个玩具示例中尝试了这个。这导致了一个类型不匹配错误,我似乎无法弄清楚。

Sub Macro1()
    
    Dim wk As Worksheet
    
    Set wk = ActiveWorkbook.Sheets("Temp")
    
    wk.Cells.Clear
    
    Dim rng As Range
    
    Set rng = wk.Range("A1:B5")
    
    rng.rows(1).Columns(1) = 1
    
    rng.rows(1).Columns(1).Select
    
    Selection.AutoFill Destination:=rng(1 & ":" & rng.rows.Count, "A")
    
End Sub

一个vba新手在这里,所以任何帮助将不胜感激。

w41d8nur

w41d8nur1#

只需参考rng的第一列。更改

rng.rows(1).Columns(1) = 1

rng.rows(1).Columns(1).Select
    
Selection.AutoFill Destination:=rng(1 & ":" & rng.rows.Count, "A")

With rng
    .Cells(1).Value = 1
    .Cells(1).AutoFill Destination:=.Columns(1)
End With

如果要从第3行开始自动填充:

With rng.Columns(1).Cells(3)
    .Value = 1
    .AutoFill Destination:=.Resize(rng.Rows.Count - 2)
End With

相关问题