这是我第一次使用.Autofill,但我搞不懂。我环顾四周,发现和尝试的每一件事都做不到。我认为这是我做过的最接近正确的事情,但我可能弄错了。我试图使用.Autofill填充一个列,但是在每个.Autofill之前都会有一个For循环,所以我不能一次完成全部工作。
Dim ws As Worksheet
Set ws = Worksheets(1)
Dim EquationRange As Range
Dim DestinationRange As Range
Dim RowNumber As Long
RowNumber = 2
Set EquationRange = ws.Cells(RowNumber, 1)
Set DestinationRange = ws.Cells(RowNumber + 1, 1)
EquationRange.AutoFill Destination:=DestinationRange我从Dim ws As Worksheet和Set EquationRange = Cells(RowNumber, 1)开始,但是当我搜索类似的问题时,他们都指定了Worksheets(),但这不起作用。我一直在犯错误
Range类的AutoFill方法失败
当我在中断模式下检查代码时,它写的是DestinationRange = Empty,但是当我使用Debug.Print DestinationRange.Address(False, False)时,它给出了正确的输出。有什么问题吗?
发布于 2016-10-28 04:16:30
您得到的错误bcoz“目的地必须包括源范围”。请参考链接。因此,您的代码应该如下所示
Private Sub test()
Dim ws As Worksheet
Dim EquationRange As Range
Dim DestinationRange As Range
Dim RowNumber As Long
Set ws = Worksheets(1)
RowNumber = 2
With ws
Set EquationRange = .Range(.Cells(RowNumber, 1))
Set DestinationRange = .Range(.Cells(RowNumber, 1), .Cells(RowNumber + 1, 1))
End With
EquationRange.AutoFill Destination:=DestinationRange
End Subhttps://stackoverflow.com/questions/40297240
复制相似问题