【发布时间】:2021-02-12 17:32:07
【问题描述】:
我的任务是根据一个特定列的长度(长度可以变化)将公式拖到几列中。
我设法做到了,但必须为每个范围创建新的代码行。
我的变体 1 示例:
Sub DragRows()
Dim LastRowEPS As Integer
Dim tr As Range
Set tr = Range("A14:G" & LastRowEPS)
Range("A14:G14").Select
Selection.AutoFill Destination:=tr, Type:=xlFillDefault
Set tr = Range("I14:K" & LastRowEPS)
Range("I14:K14").Select
Selection.AutoFill Destination:=tr, Type:=xlFillDefault
End Sub
我想优化我的代码并在一行代码中包含多个变量范围。
这是我的变体 2:
Sub DragRows()
Dim LastRowEPS As Integer
Dim tr As Range
LastRowEPS = Sheet1.Cells(14, 12).End(xlDown).Row
Set tr = Range("A14:G" & LastRowEPS & ", I14:K" & LastRowEPS & ", M14:N" & LastRowEPS & ", P14:P" & LastRowEPS)
Range("A14:G14,I14:K14,M14:N14,P14:P14").Select
Selection.AutoFill Destination:=tr, Type:=xlFillDefault
End Sub
选择过程有效,tr.Range 定义正确,但 VBA 自动填充显示错误:
运行时错误“1004”:Range 类的 AutoFill 方法失败
是否可以包含几个变量范围作为自动填充的目标或任何其他方式来优化我的代码?
【问题讨论】: