填写VBA

填写VBA,vba,excel,autofill,Vba,Excel,Autofill,我想插入一个新列,粘贴一个公式,然后将公式填充到a列中数据的末尾。除了填充过程之外,我已经完成了所有工作。当它到达偏移量时就失败了。在VBA中是否有这样做的方法?任何帮助都将不胜感激 Sub Macro3() Sheet7.Columns("B:B").Select Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove Sheet7.Cells(1, 2).Value = "Reason Code" Sh

我想插入一个新列,粘贴一个公式,然后将公式填充到a列中数据的末尾。除了填充过程之外,我已经完成了所有工作。当它到达偏移量时就失败了。在VBA中是否有这样做的方法?任何帮助都将不胜感激

Sub Macro3()

Sheet7.Columns("B:B").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

Sheet7.Cells(1, 2).Value = "Reason Code"
Sheet7.Cells(2, 2).Value = "=INDEX(ImportsFromMasterData!$B:B,MATCH(Imports!$A:A,ImportsFromMasterData!$A:A,0))"

Sheet7.Range("B2").Select
Selection.AutoFill Destination:=Range(Range("B2"), Range(Range("A2").End(xlDown)).Offset(, 2)), Type:=xlFillDefault

End Sub

选择。自动填充不是实现这一点的非常有效的方法,但要使其工作,请将自动填充行调整为:

Selection.AutoFill Destination:=Range(Range("B2"), Range("A2").End(xlDown).Offset(0, 1))
这正是您构建用于目的地的范围的方式不起作用。若要调试此类错误,请尝试使用即时窗口并检查已创建范围的地址

Selection.AutoFill Destination:=Range(Range("B2"), Range("A2").End(xlDown).Offset(0, 1))