Vba 将公式向右填充到上次使用的列

Vba 将公式向右填充到上次使用的列,vba,excel,Vba,Excel,我是VBA的新手。我想写一个代码,将D3和D4单元格中的公式填入右边,最后一列用-3。这是我想出来的,但我认为它不太正确 Sub fillRight() Dim lastColumn As Integer lastColumn = ActiveSheet.Cells(2, Columns.count).End(xlToLeft).Column - 3 range("D3:D4").Select Selection.AutoFill Destination:=range("D

我是VBA的新手。我想写一个代码,将D3和D4单元格中的公式填入右边,最后一列用-3。这是我想出来的,但我认为它不太正确

Sub fillRight()

Dim lastColumn As Integer

lastColumn = ActiveSheet.Cells(2, Columns.count).End(xlToLeft).Column - 3

    range("D3:D4").Select
    Selection.AutoFill Destination:=range("D3", lastColumn), Type:=xlFillDefault
    range("D3", lastColumn).Select

End Sub
感谢您的帮助

谢谢

这个怎么样

Sub fillRight()
    Dim lastColumn As Integer
    Dim rng_source As Range
    Dim rng_Destination As Range
    Dim l_SourceRows As Long

    Set rng_source = Range("D3:D4")
    l_SourceRows = rng_source.Rows.Count
    lastColumn = ActiveSheet.Cells(2, Columns.Count).End(xlToLeft).Column - 3
    Set rng_Destination = Range(rng_source.Cells(1), Cells(rng_source.Cells(1).Row + l_SourceRows - 1, lastColumn))

    rng_source.AutoFill _
        Destination:=rng_Destination, _
        Type:=xlFillDefault
End Sub

设置最后一列的方法是正确的,但您还需要知道最后一行,以便为填充范围的最后一个单元格创建一个范围。

范围(“D3”,lastColumn)
-->
范围(“D3:D”&lastColumn)
我的代码的固定部分。代码似乎在填充我的公式。我试着把公式填到右边。我改变了类型:=xlFillDefault-->Type:=xlFillright,但是没有得到任何有效的运气,我知道我错过了一些东西。谢谢你的帮助。我很感激。