我一直在自动填充使用Q10:Q57范围的报告。但是,我意识到,由于它每天运行,因此范围很可能会更高或更低。我目前有
Range("Q10").Select
Selection.AutoFill Destination:=Range("Q10:Q57"), Type:=xlFillDefault
Range("Q10:Q57").Select
Calculate
有没有办法自动填充直到最后一行而不是Q57?我在考虑使用excel吗?你的想法是什么?感谢。
答案 0 :(得分:0)
创建一个函数来查找最后一行:
Public Function GetLastRow(ByVal rngToCheck As Excel.Range) As Long
Dim rngLast As Excel.Range
rngLast = rngToCheck.Find(What:="*", SearchOrder:=Excel.XlSearchOrder.xlByRows, SearchDirection:=Excel.XlSearchDirection.xlPrevious)
If rngLast Is Nothing Then
GetLastRow = rngToCheck.Rows.Count
Else
GetLastRow = rngLast.Rows.Count
End If
End Function
现在创建一个调用函数
的过程Sub findAndFillLastRow()
Dim yourSheet As Excel.Worksheet
With yourSheet
lngLr = .Cells.Find(What:="*", SearchDirection:=Excel.XlSearchDirection.xlPrevious, SearchOrder:=Excel.XlSearchOrder.xlByRows).Row
.Range("Q10:Q").AutoFill(.Range("Q10:Q" & lngLr), Excel.XlAutoFillType.xlFillDefault)
End With
End Sub
那应该是工作。
答案 1 :(得分:0)
试一试
Dim rng_AutoFill As Range
Set rng_AutoFill = Range( _
Range("Q10"), _
Range("Q1000000").End(xlUp))
Range("Q10").AutoFill _
Destination:=rng_AutoFill, _
Type:=xlFillDefault
Calculate