填写 VBA
Fill down in VBA
我想插入一个新列,粘贴一个公式,然后将该公式向下填充到 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
Sub Macro3()
With Sheet7
.Columns("B:B").Insert Shift:=xlToRight, _
CopyOrigin:=xlFormatFromLeftOrAbove
.Cells(1, 2).Value = "Reason Code"
.Range(.Cells(2, 2), .Cells(Rows.Count, 1).End(xlUp).Offset(0, 1)).Formula = _
"=INDEX(ImportsFromMasterData!$B:B," & _
"MATCH(Imports!$A:A,ImportsFromMasterData!$A:A,0))"
End With
End Sub
Selection.Autofill 不是实现此目的的非常有效的方法,但要使其正常工作,请将您的自动填充行调整为:
Selection.AutoFill Destination:=Range(Range("B2"), Range("A2").End(xlDown).Offset(0, 1))
这只是您构建用于目的地的范围的方式不起作用。要调试此类错误,请尝试使用您的即时 window 并检查您创建的范围的地址。
我想插入一个新列,粘贴一个公式,然后将该公式向下填充到 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
Sub Macro3()
With Sheet7
.Columns("B:B").Insert Shift:=xlToRight, _
CopyOrigin:=xlFormatFromLeftOrAbove
.Cells(1, 2).Value = "Reason Code"
.Range(.Cells(2, 2), .Cells(Rows.Count, 1).End(xlUp).Offset(0, 1)).Formula = _
"=INDEX(ImportsFromMasterData!$B:B," & _
"MATCH(Imports!$A:A,ImportsFromMasterData!$A:A,0))"
End With
End Sub
Selection.Autofill 不是实现此目的的非常有效的方法,但要使其正常工作,请将您的自动填充行调整为:
Selection.AutoFill Destination:=Range(Range("B2"), Range("A2").End(xlDown).Offset(0, 1))
这只是您构建用于目的地的范围的方式不起作用。要调试此类错误,请尝试使用您的即时 window 并检查您创建的范围的地址。